synology_apm_repo.sdk.format.repo_transaction module¶
repo_transaction.<N> — magic rPTs, the same headers.py
parse_json_payload_header shell repo_info.py uses (crc@8,
data_size BE u64 @12), minus a meaningful repo-uuid field (bytes [20,36)
are always zero-filled here) — followed by a small JSON payload
(FORMAT-SPEC.md: generation-selection).
- class synology_apm_repo.sdk.format.repo_transaction.RepoTransaction(transaction_id, session_id, compact_id, raw)¶
Bases:
objectParsed
repo_transaction.<N>payload.session_id/compact_idare carried through for completeness/diagnostics (dump-style tooling); generation selection only ever needstransaction_id.
- synology_apm_repo.sdk.format.repo_transaction.parse_repo_transaction(data)¶
Parse a
repo_transaction.<N>file’s full bytes (header + JSON payload).- Raises:
DataCorruptError – A magic, header-CRC, or payload-CRC mismatch, or a payload missing
transaction_identirely.FormatError – The payload is truncated relative to the length the header declares.