pub struct RouterSideOptions {
pub reliable_enabled: bool,
pub link_local_enabled: bool,
pub header_template_enabled: bool,
pub max_frame_bytes: usize,
pub compact_header_target_bytes: usize,
pub max_side_transport_templates: usize,
pub omit_unchanged_compact_timestamps: bool,
pub compact_timestamp_omission_types: CompactTimestampOmissionPolicy,
pub side_transport_profile: SideTransportProfile,
pub ingress_enabled: bool,
pub egress_enabled: bool,
}Fields§
§reliable_enabled: boolEnables the router’s per-link reliable transport layer on this side.
When true and the side uses a packed TX handler, reliable schema types gain
sequence numbers, ACKs, packet requests, and retransmits on this specific hop.
When false, the router strips the reliable framing for that side and sends only the
application packet payload once.
This setting only affects the hop between this router and the side’s TX callback. It does
not change whether a schema DataType is defined as reliable, and it does not disable the
router’s end-to-end reliable tracking for packets originated elsewhere in the network.
link_local_enabled: boolMarks the side as eligible for link-local-only endpoints and discovery routes.
header_template_enabled: boolEnables a side-local header-template dictionary for packed transport.
The first frame for a stable header shape is sent in full. Later frames on the same side can replace the repeated static header bytes with a compact template hash plus only the fields that still vary packet to packet.
max_frame_bytes: usizeMaximum number of bytes to emit per packed TX callback.
When non-zero and a wrapped packed frame would exceed this size, the router splits it into ordered chunks and reassembles those chunks on RX before normal packet processing.
compact_header_target_bytes: usizeTarget total side-transport overhead for compact follow-up frames.
This is a profiling/negotiation target rather than a hard limit. The canonical packet is still reconstructed before normal router handling, so constrained links should watch runtime stats to confirm compact frames are meeting their IPv4/IPv6-like overhead budget.
max_side_transport_templates: usizeMaximum side-local header templates retained for TX and RX dictionaries.
This keeps compact-link state bounded. When the dictionary is full, the oldest deterministic entry is evicted and a later packet with that shape will refresh the receiver with a full template frame.
omit_unchanged_compact_timestamps: boolOmits the timestamp field from compact follow-up frames when it is unchanged.
The receiver reconstructs the canonical packet from the previous timestamp for that side-local template. This is only used after a full or compact frame has established timestamp context.
compact_timestamp_omission_types: CompactTimestampOmissionPolicyOptional per-data-type timestamp omission policy for compact follow-up frames.
This allows a side to omit unchanged timestamps only for selected traffic while keeping absolute/delta timestamps for other data types on the same link.
side_transport_profile: SideTransportProfileDeclared compact-link profile for stats and future negotiation.
ingress_enabled: boolAllows packets received from this side to enter router processing.
egress_enabled: boolAllows the router to transmit packets toward this side.
Implementations§
Source§impl RouterSideOptions
impl RouterSideOptions
Sourcepub fn with_small_packet_transport(self, max_frame_bytes: usize) -> Self
pub fn with_small_packet_transport(self, max_frame_bytes: usize) -> Self
Convenience preset for compact packed-side transport.
This enables header-template reuse and, when max_frame_bytes > 0,
router-managed chunking/reassembly for fixed-size transports.
pub fn with_ipv4_like_compact_header_target(self) -> Self
pub fn with_ipv6_like_compact_header_target(self) -> Self
pub fn with_template_transport(self) -> Self
pub fn with_omitted_unchanged_compact_timestamps(self) -> Self
pub fn with_omitted_unchanged_compact_timestamps_for_type( self, ty: DataType, ) -> Self
pub fn effective_transport_profile(self) -> SideTransportProfile
pub fn link_capabilities(self) -> LinkCapabilities
Trait Implementations§
Source§impl Clone for RouterSideOptions
impl Clone for RouterSideOptions
Source§fn clone(&self) -> RouterSideOptions
fn clone(&self) -> RouterSideOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more