Constants§
- AES128_
BLOCKSIZE - AES-128 block size in bytes
- ANNOUNCES_
CHECK_ INTERVAL - Announce check interval (seconds)
- ANNOUNCE_
CAP - Default announce bandwidth cap (2% of interface bandwidth)
- AP_
PATH_ TIME - Access Point path expiry = 1 day
- CHANNEL_
ENVELOPE_ OVERHEAD - Channel envelope overhead: msgtype(2) + seq(2) + len(2)
- CHANNEL_
FAST_ RATE_ THRESHOLD - Number of consecutive fast rounds to upgrade window
- CHANNEL_
MAX_ TRIES - Maximum number of send tries per envelope
- CHANNEL_
RTT_ FAST - RTT threshold for fast links
- CHANNEL_
RTT_ MEDIUM - RTT threshold for medium links
- CHANNEL_
RTT_ SLOW - RTT threshold for slow links
- CHANNEL_
SEQ_ MAX - Maximum sequence number
- CHANNEL_
SEQ_ MODULUS - Sequence number modulus
- CHANNEL_
WINDOW - Initial window size at channel setup
- CHANNEL_
WINDOW_ FLEXIBILITY - Minimum flexibility between window_max and window_min
- CHANNEL_
WINDOW_ MAX_ FAST - Maximum window size for fast links
- CHANNEL_
WINDOW_ MAX_ MEDIUM - Maximum window size for medium-speed links
- CHANNEL_
WINDOW_ MAX_ SLOW - Maximum window size for slow links
- CHANNEL_
WINDOW_ MIN - Absolute minimum window size
- CHANNEL_
WINDOW_ MIN_ LIMIT_ FAST - Minimum window limit for fast links
- CHANNEL_
WINDOW_ MIN_ LIMIT_ MEDIUM - Minimum window limit for medium-speed links
- CHANNEL_
WINDOW_ MIN_ LIMIT_ SLOW - Minimum window limit for slow links
- CONTEXT_
CACHE_ REQUEST - CONTEXT_
CHANNEL - CONTEXT_
COMMAND - CONTEXT_
COMMAND_ STATUS - CONTEXT_
KEEPALIVE - CONTEXT_
LINKCLOSE - CONTEXT_
LINKIDENTIFY - CONTEXT_
LINKPROOF - CONTEXT_
LRPROOF - CONTEXT_
LRRTT - CONTEXT_
NONE - Packet context types
- CONTEXT_
PATH_ RESPONSE - CONTEXT_
REQUEST - CONTEXT_
RESOURCE - CONTEXT_
RESOURCE_ ADV - CONTEXT_
RESOURCE_ HMU - CONTEXT_
RESOURCE_ ICL - CONTEXT_
RESOURCE_ PRF - CONTEXT_
RESOURCE_ RCL - CONTEXT_
RESOURCE_ REQ - CONTEXT_
RESPONSE - DERIVED_
KEY_ LENGTH - Derived key length in bytes
- DESTINATION_
GROUP - DESTINATION_
IN - Destination directions
- DESTINATION_
LINK - DESTINATION_
OUT - DESTINATION_
PLAIN - DESTINATION_
SINGLE - Destination types
- DESTINATION_
TIMEOUT - Destination table entry timeout (7 days)
- ENCRYPTED_
MDU - Encrypted MDU: floor((MDU - TOKEN_OVERHEAD - KEYSIZE/16) / AES128_BLOCKSIZE) * AES128_BLOCKSIZE - 1
- EXPL_
LENGTH - Explicit proof length: HASHLENGTH/8 + SIGLENGTH/8 = 32 + 64 = 96
- FLAG_
SET - Context flag values
- FLAG_
UNSET - HASHLENGTH
- Full hash length in bits (SHA-256)
- HASHLIST_
MAXSIZE - Maximum packet hashlist size before rotation
- HEADER_
1 - Header types
- HEADER_
2 - HEADER_
MAXSIZE - Maximum header size: 2 (flags + hops) + 1 (context) + 32 (transport_id + dest hash)
- HEADER_
MINSIZE - Minimum header size: 2 (flags + hops) + 1 (context) + 16 (dest hash)
- IFAC_
MIN_ SIZE - Minimum IFAC size
- IMPL_
LENGTH - Implicit proof length: SIGLENGTH/8 = 64
- KEYSIZE
- Full key size in bits (256 X25519 + 256 Ed25519)
- LINKS_
CHECK_ INTERVAL - Link check interval (seconds)
- LINK_
ECPUBSIZE - Link ephemeral public key size: 32 (X25519) + 32 (Ed25519)
- LINK_
ESTABLISHMENT_ TIMEOUT_ PER_ HOP - Link establishment timeout per hop (seconds)
- LINK_
KEEPALIVE_ MAX - Maximum keepalive interval in seconds
- LINK_
KEEPALIVE_ MAX_ RTT - Maximum RTT used for keepalive scaling
- LINK_
KEEPALIVE_ MIN - Minimum keepalive interval in seconds
- LINK_
KEEPALIVE_ TIMEOUT_ FACTOR - RTT timeout factor for stale→close transition
- LINK_
KEYSIZE - Link key size in bytes
- LINK_
MDU - Link MDU: floor((MTU - IFAC_MIN_SIZE - HEADER_MINSIZE - TOKEN_OVERHEAD) / AES128_BLOCKSIZE) * AES128_BLOCKSIZE - 1
- LINK_
MODE_ BYTEMASK - Link mode bytemask (3-bit mode field in upper byte)
- LINK_
MTU_ BYTEMASK - Link MTU bytemask (21-bit MTU field)
- LINK_
MTU_ SIZE - Link MTU signalling bytes size
- LINK_
STALE_ FACTOR - Factor to compute stale_time from keepalive
- LINK_
STALE_ GRACE - Grace period for stale→close transition
- LINK_
STALE_ TIME - Link stale time = 2 * KEEPALIVE(360) = 720 seconds
- LINK_
TIMEOUT - Link timeout = STALE_TIME * 1.25 = 900 seconds
- LINK_
TRAFFIC_ TIMEOUT_ FACTOR - Traffic timeout factor
- LOCAL_
REBROADCASTS_ MAX - How many local rebroadcasts of an announce is allowed
- MAX_
PR_ TAGS - Maximum amount of unique path request tags to remember
- MAX_
QUEUED_ ANNOUNCES - Maximum queued announces per interface
- MAX_
RANDOM_ BLOBS - Maximum number of random blobs per destination to keep in memory
- MAX_
RATE_ TIMESTAMPS - Maximum number of announce timestamps to keep per destination
- MDU
- Maximum data unit: MTU - HEADER_MAXSIZE - IFAC_MIN_SIZE
- MODE_
ACCESS_ POINT - MODE_
BOUNDARY - MODE_
FULL - MODE_
GATEWAY - MODE_
POINT_ TO_ POINT - MODE_
ROAMING - MTU
- Maximum transmission unit in bytes
- NAME_
HASH_ LENGTH - Name hash length in bits
- PACKET_
TYPE_ ANNOUNCE - PACKET_
TYPE_ DATA - Packet types
- PACKET_
TYPE_ LINKREQUEST - PACKET_
TYPE_ PROOF - PATHFINDER_
E - Path expiry = 7 days (seconds)
- PATHFINDER_
G - Grace period between retries (seconds)
- PATHFINDER_
M - Maximum hops
- PATHFINDER_
R - Retransmit retries (total sends = PATHFINDER_R + 1)
- PATHFINDER_
RW - Random window for announce rebroadcast (seconds)
- PATH_
REQUEST_ GRACE - Grace time before a path announcement is made (seconds)
- PATH_
REQUEST_ MI - Minimum interval for automated path requests (seconds)
- PATH_
REQUEST_ RG - Extra grace time for roaming-mode interfaces (seconds)
- PATH_
REQUEST_ TIMEOUT - Default timeout for path requests (seconds)
- PLAIN_
MDU - Plain MDU (same as MDU)
- QUEUED_
ANNOUNCE_ LIFE - Queued announce lifetime (24 hours)
- RATCHETSIZE
- Ratchet key size in bits
- RECEIPT_
CULLED - RECEIPT_
DELIVERED - RECEIPT_
FAILED - Receipt status constants
- RECEIPT_
SENT - RESOURCE_
ADVERTISEMENT_ OVERHEAD - Advertisement overhead in bytes (fixed msgpack overhead)
- RESOURCE_
AUTO_ COMPRESS_ MAX_ SIZE - Maximum auto-compress size (64 MB)
- RESOURCE_
COLLISION_ GUARD_ SIZE - Collision guard size = 2 * WINDOW_MAX + HASHMAP_MAX_LEN
- RESOURCE_
FAST_ RATE_ THRESHOLD - Sustained fast-rate rounds before enabling fast window = WINDOW_MAX_SLOW - WINDOW - 2 = 10 - 4 - 2 = 4
- RESOURCE_
HASHMAP_ IS_ EXHAUSTED - Hashmap exhausted flag
- RESOURCE_
HASHMAP_ IS_ NOT_ EXHAUSTED - Hashmap not exhausted flag
- RESOURCE_
HASHMAP_ MAX_ LEN - Maximum hashmap entries per advertisement segment = floor((LINK_MDU - ADVERTISEMENT_OVERHEAD) / MAPHASH_LEN)
- RESOURCE_
MAPHASH_ LEN - Number of bytes in a map hash
- RESOURCE_
MAX_ ADV_ RETRIES - Maximum retries for advertisement
- RESOURCE_
MAX_ EFFICIENT_ SIZE - Maximum efficient resource size (1 MB - 1)
- RESOURCE_
MAX_ RETRIES - Maximum retries for part transfers
- RESOURCE_
METADATA_ MAX_ SIZE - Maximum metadata size (16 MB - 1)
- RESOURCE_
PART_ TIMEOUT_ FACTOR - Part timeout factor (before RTT measured)
- RESOURCE_
PART_ TIMEOUT_ FACTOR_ AFTER_ RTT - Part timeout factor (after first RTT measured)
- RESOURCE_
PER_ RETRY_ DELAY - Per-retry delay (seconds)
- RESOURCE_
PROCESSING_ GRACE - Processing grace for advertisement response (seconds)
- RESOURCE_
PROOF_ TIMEOUT_ FACTOR - Proof timeout factor (reduced when awaiting proof)
- RESOURCE_
RANDOM_ HASH_ SIZE - Random hash size prepended to resource data
- RESOURCE_
RATE_ FAST - Fast rate threshold: 50 Kbps in bytes/sec = 50000 / 8 = 6250.0
- RESOURCE_
RATE_ VERY_ SLOW - Very slow rate threshold: 2 Kbps in bytes/sec = 2000 / 8 = 250.0
- RESOURCE_
RESPONSE_ MAX_ GRACE_ TIME - Response max grace time (seconds)
- RESOURCE_
RETRY_ GRACE_ TIME - Retry grace time (seconds)
- RESOURCE_
SDU - Resource SDU = Packet.MDU (NOT ENCRYPTED_MDU)
- RESOURCE_
SENDER_ GRACE_ TIME - Sender grace time (seconds)
- RESOURCE_
VERY_ SLOW_ RATE_ THRESHOLD - Sustained very-slow-rate rounds before capping to very slow
- RESOURCE_
WATCHDOG_ MAX_ SLEEP - Maximum watchdog sleep interval (seconds)
- RESOURCE_
WINDOW - Initial window size at beginning of transfer
- RESOURCE_
WINDOW_ FLEXIBILITY - Minimum flexibility between window_max and window_min
- RESOURCE_
WINDOW_ MAX - Global maximum window (for calculations)
- RESOURCE_
WINDOW_ MAX_ FAST - Maximum window size for fast links
- RESOURCE_
WINDOW_ MAX_ SLOW - Maximum window size for slow links
- RESOURCE_
WINDOW_ MAX_ VERY_ SLOW - Maximum window size for very slow links
- RESOURCE_
WINDOW_ MIN - Absolute minimum window size during transfer
- REVERSE_
TIMEOUT - Reverse table entry timeout (8 minutes)
- ROAMING_
PATH_ TIME - Roaming path expiry = 6 hours
- SIGLENGTH
- Signature length in bits (Ed25519)
- STATE_
RESPONSIVE - STATE_
UNKNOWN - STATE_
UNRESPONSIVE - STREAM_
DATA_ MSGTYPE - System message type for stream data
- STREAM_
DATA_ OVERHEAD - Stream data overhead: 2 (stream header) + 6 (channel envelope)
- STREAM_
ID_ MAX - Maximum stream ID (14 bits)
- TABLES_
CULL_ INTERVAL - Table culling interval (seconds)
- TOKEN_
OVERHEAD - Token overhead in bytes (16 IV + 32 HMAC)
- TRANSPORT_
BROADCAST - Transport types
- TRANSPORT_
RELAY - TRANSPORT_
TRANSPORT - TRANSPORT_
TUNNEL - TRUNCATED_
HASHLENGTH - Truncated hash length in bits