mosh:protocol:layers:transport:framing
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mosh:protocol:layers:transport:framing [2026/05/10 16:41] – [Version (Upper Nibble)] mosh | mosh:protocol:layers:transport:framing [2026/05/15 04:27] (current) – [Domains, Operations Codes, and Context ID] mosh | ||
|---|---|---|---|
| Line 25: | Line 25: | ||
| All MOSH packets follow this structure: | All MOSH packets follow this structure: | ||
| - | | Header (12 Bytes) | | + | | Header (13 Bytes) | |
| | Payload (1,456 Bytes max) | | | Payload (1,456 Bytes max) | | ||
| | Footer (CRC16) (2 Bytes) | | | Footer (CRC16) (2 Bytes) | | ||
| + | Note: All multi-byte fields are serialized little-endian. | ||
| ===== Header Layout (12 Bytes) ===== | ===== Header Layout (12 Bytes) ===== | ||
| Line 39: | Line 40: | ||
| | Destination Address | | Destination Address | ||
| | Context | | Context | ||
| - | | Payload Length | + | | Payload Length |
| ===== Footer (2 Bytes) ===== | ===== Footer (2 Bytes) ===== | ||
| Line 50: | Line 51: | ||
| ===== Version and Flags ===== | ===== Version and Flags ===== | ||
| - | ==== Version (Upper | + | ==== Version (Upper |
| - | Protocol version (0–7). | + | Protocol version (0–15). |
| ==== Flags (Lower Nibble) ==== | ==== Flags (Lower Nibble) ==== | ||
| ^ Bit ^ Name ^ Description ^ | ^ Bit ^ Name ^ Description ^ | ||
| - | | 0 | ACK_REQUIRED | + | | 0x00 | NONE | No flags are set | |
| - | | 1 | ACK | Frame is an acknowledgment | + | | 0x01 | ACK_REQUIRED |
| - | | 2 | IS_RETRY | + | | 0x02 | ACK | Frame is an acknowledgment |
| - | | 3 | IS_FRAGMENT | + | | 0x04 | IS_RETRY |
| + | | 0x08 | IS_FRAGMENT | ||
| ----- | ----- | ||
| Line 83: | Line 85: | ||
| The Context byte determines which manager processes the payload. | The Context byte determines which manager processes the payload. | ||
| + | ===Domain (3-bits)=== | ||
| ^ Domain ^ Context | ^ Domain ^ Context | ||
| - | | 0 | [[mosh: | + | | 0x00 |
| - | | 1 | [[mosh: | + | | 0x01 |
| - | | 2 | [[mosh: | + | | 0x02 |
| - | | 3 | [[mosh: | + | | 0x03 |
| - | | 4–7 | RESERVED | + | | 0x04 | Transport-level operations |
| + | | 0x05 | Routing messages | ||
| + | | 0x06 | RESERVED1 | ||
| + | | 0x07 | ||
| + | ===Operations Code (5-bits)=== | ||
| + | Each domain has it's own operations code definitions. | ||
| + | * [[mosh: | ||
| + | * [[mosh: | ||
| + | * [[mosh: | ||
| + | * [[mosh: | ||
| + | * [[mosh: | ||
| + | * [[mosh: | ||
| + | |||
| + | |||
| + | ===Context ID (8-bits)=== | ||
| The Context ID byte is the ID of the element or virtual wire being targeted. | The Context ID byte is the ID of the element or virtual wire being targeted. | ||
/var/www/wiki.moshnetworks.com/data/attic/mosh/protocol/layers/transport/framing.1778431309.txt.gz · Last modified: by mosh
