pub struct InboundStream {
pub epoch: u16,
pub baseline: Option<u8>,
pub seen: SeenWindow,
pub refs: RefRing,
pub edit_refs: EditRing,
pub pending: Vec<PendingRepair, 8>,
pub sender_key: Option<PublicKey>,
pub collided: bool,
pub last_request_ms: u64,
pub last_active_ms: u64,
}Expand description
Inbound stream state for one (conversation, sender) pair.
Fields§
§epoch: u16Local epoch counter; bumped on reset so stale cached state can never merge across a reset.
baseline: Option<u8>Most recent (serial-order) accepted ID.
seen: SeenWindow§refs: RefRing§edit_refs: EditRingEdit IDs on this stream, mapped back to the originals they replaced.
pending: Vec<PendingRepair, 8>§sender_key: Option<PublicKey>Resolved full key of a claimed multicast member, when known. Needed to address group repair requests.
collided: boolTwo known peer keys collide on this stream’s hint; automatic repair is suppressed and references resolve only when unambiguous.
last_request_ms: u64§last_active_ms: u64Implementations§
Source§impl InboundStream
impl InboundStream
pub fn new(now_ms: u64) -> Self
Sourcepub fn reset_epoch(&mut self, new_baseline: Option<u8>)
pub fn reset_epoch(&mut self, new_baseline: Option<u8>)
Start a new epoch, discarding cached wire mappings and repair state but not transcript history.
Sourcepub fn cancel_pending(&mut self, message_id: u8, fragment: Option<u8>)
pub fn cancel_pending(&mut self, message_id: u8, fragment: Option<u8>)
Cancel pending repairs satisfied by an arrival: a whole-message
arrival (fragment == None) satisfies everything for that ID, while a
fragment arrival satisfies its own request and any whole-message
request (which fragment zero or reassembly tracking supersedes).
Trait Implementations§
Source§impl Clone for InboundStream
impl Clone for InboundStream
Source§fn clone(&self) -> InboundStream
fn clone(&self) -> InboundStream
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for InboundStream
impl RefUnwindSafe for InboundStream
impl Send for InboundStream
impl Sync for InboundStream
impl Unpin for InboundStream
impl UnwindSafe for InboundStream
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)