pub struct ConnectedCarrier { /* private fields */ }Expand description
One connected byte carrier above exactly one immutable logical session.
Implementations§
Source§impl ConnectedCarrier
impl ConnectedCarrier
pub fn new( role: CarrierRole, config: ConnectedConfig, ) -> Result<Self, CoreError>
Sourcepub fn peer_port(&self) -> Option<&PortText>
pub fn peer_port(&self) -> Option<&PortText>
The port the latest peer preface sent, for diagnostics.
Sourcepub fn peer_by(&self) -> Option<&ByValue>
pub fn peer_by(&self) -> Option<&ByValue>
The By the live peer proved in the latest logical session, for
diagnostics: its PeerConfidential key. Absent until that proof
validates under confidential or channel-bound assurance, and from the
next preface cut until the following session’s proof does.
Sourcepub fn outgoing_encoding(&self) -> Option<StreamEncoding>
pub fn outgoing_encoding(&self) -> Option<StreamEncoding>
The 065 encoding of the local-to-peer direction that the latest preface pair selects, for diagnostics. Absent before the first peer preface; each peer preface selects again.
Sourcepub fn incoming_encoding(&self) -> Option<StreamEncoding>
pub fn incoming_encoding(&self) -> Option<StreamEncoding>
The 065 encoding of the peer-to-local direction that the latest
preface pair selects, for diagnostics; absent like
Self::outgoing_encoding.
pub fn state(&self) -> CarrierState
pub fn session(&self) -> Option<&SessionMachine>
pub fn protocol_phase(&self) -> MachineProtocolPhase
pub fn protocol_phase_token(&self) -> ProtocolPhaseToken
pub fn active_store_call(&self) -> Option<&StoreCall>
pub fn active_store_call_mut(&mut self) -> Option<&mut StoreCall>
Sourcepub fn can_read_peer_input(&self) -> bool
pub fn can_read_peer_input(&self) -> bool
Whether the host may decode another peer item without violating the carrier or endpoint’s current ownership boundary.
Sourcepub fn peer_record_ingress(&self) -> RecordIngress
pub fn peer_record_ingress(&self) -> RecordIngress
How the host receives the next peer record: establishment records into memory within their bounds, an outstanding response through the store, an old session’s record during reset prefacing discarded within the reset control budget, and no other record.
Sourcepub fn replace_policy(&mut self, next: InterlaceModule) -> Result<(), CoreError>
pub fn replace_policy(&mut self, next: InterlaceModule) -> Result<(), CoreError>
Stage a canonical replacement without polling, emitting output, or retiring a running session.
Sourcepub fn peer_input_disposition(&self, input: &PeerInput) -> PeerInputDisposition
pub fn peer_input_disposition(&self, input: &PeerInput) -> PeerInputDisposition
Classifies one already-decoded input without making the host inspect
carrier, session, or endpoint state. RejectNow means the host should
hand the input to push_input so the core produces the protocol failure.
pub fn push_input( &mut self, input: impl Into<PeerInput>, ) -> Result<(), MachineError>
Sourcepub fn accept_peer_output(&mut self) -> Result<Vec<IltpItem>, MachineError>
pub fn accept_peer_output(&mut self) -> Result<Vec<IltpItem>, MachineError>
Fails with the retained terminal error when staged replacement or fresh
session construction fails the carrier; host misuse is Integration
without a transition.
pub fn submit_store_call(&mut self, id: u64) -> Result<(), MachineError>
pub fn try_store_position_advanced( &mut self, boundary: &FixedPointWakeBoundary, position: StorePosition, ) -> StorePositionAdvance
pub fn cancel(&mut self)
pub fn timeout(&mut self)
pub fn peer_eof(&mut self) -> Result<(), MachineError>
pub fn poll(&mut self) -> MachinePoll<'_>
Sourcepub fn adopt_operand_cache(
&mut self,
cache: OperandCache,
) -> Result<(), MachineError>
pub fn adopt_operand_cache( &mut self, cache: OperandCache, ) -> Result<(), MachineError>
Share cache with this and every later logical session. A carrier
opened without a local participant adopts the selected participant’s
cache while the first MachinePoll::SelectOperand is unanswered.
Sourcepub fn select_operand(
&mut self,
selection: Option<SessionOperand>,
) -> Result<(), MachineError>
pub fn select_operand( &mut self, selection: Option<SessionOperand>, ) -> Result<(), MachineError>
Answer MachinePoll::SelectOperand: this logical session’s operand,
or None to refuse the peer’s port, which fails the carrier.