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 03:20] – [Header Layout (12 Bytes)] 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 | | + | | Payload |
| | 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 38: | Line 39: | ||
| | Source Address | | Source Address | ||
| | 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–15). | Protocol version (0–15). | ||
| Line 56: | Line 57: | ||
| ^ 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 79: | Line 81: | ||
| ----- | ----- | ||
| - | ===== Context and Op Codes ===== | + | ===== Domains, Operations |
| - | The Context byte determines which core manager processes the payload. | + | The Context byte determines which manager processes the payload. |
| - | ^ Context Value ^ Context | + | ===Domain (3-bits)=== |
| - | | 0 | [[mosh: | + | ^ Domain |
| - | | 1 | [[mosh: | + | | 0x00 |
| - | | 2 | + | | 0x01 |
| - | | 3 | + | | 0x02 | Element-level operations |
| - | | 4–7 | RESERVED | Future expansion | | + | | 0x03 | Virtual wire messaging |
| + | | 0x04 | Transport-level operations | ||
| + | | 0x05 | Routing messages | ||
| + | | 0x06 | RESERVED1 | ||
| + | | 0x07 | RESERVED2 | ||
| + | |||
| + | ===Operations Code (5-bits)=== | ||
| + | Each domain has it's own operations code definitions. | ||
| + | * [[mosh: | ||
| + | * [[mosh: | ||
| + | | ||
| + | | ||
| + | * [[mosh: | ||
| + | * [[mosh: | ||
| + | |||
| + | |||
| + | ===Context ID (8-bits)=== | ||
| + | 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.1778383259.txt.gz · Last modified: by mosh
