Skip to main content

ConnectedCarrier

Struct ConnectedCarrier 

Source
pub struct ConnectedCarrier { /* private fields */ }
Expand description

One connected byte carrier above exactly one immutable logical session.

Implementations§

Source§

impl ConnectedCarrier

Source

pub fn new( role: CarrierRole, config: ConnectedConfig, ) -> Result<Self, CoreError>

Source

pub fn peer_port(&self) -> Option<&PortText>

The port the latest peer preface sent, for diagnostics.

Source

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.

Source

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.

Source

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.

Source

pub fn state(&self) -> CarrierState

Source

pub fn session(&self) -> Option<&SessionMachine>

Source

pub fn protocol_phase(&self) -> MachineProtocolPhase

Source

pub fn protocol_phase_token(&self) -> ProtocolPhaseToken

Source

pub fn active_store_call(&self) -> Option<&StoreCall>

Source

pub fn active_store_call_mut(&mut self) -> Option<&mut StoreCall>

Source

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.

Source

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.

Source

pub fn replace_policy(&mut self, next: InterlaceModule) -> Result<(), CoreError>

Stage a canonical replacement without polling, emitting output, or retiring a running session.

Source

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.

Source

pub fn push_input( &mut self, input: impl Into<PeerInput>, ) -> Result<(), MachineError>

Source

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.

Source

pub fn submit_store_call(&mut self, id: u64) -> Result<(), MachineError>

Source

pub fn try_store_position_advanced( &mut self, boundary: &FixedPointWakeBoundary, position: StorePosition, ) -> StorePositionAdvance

Source

pub fn cancel(&mut self)

Source

pub fn timeout(&mut self)

Source

pub fn peer_eof(&mut self) -> Result<(), MachineError>

Source

pub fn poll(&mut self) -> MachinePoll<'_>

Source

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.

Source

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.

Trait Implementations§

Source§

impl Debug for ConnectedCarrier

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.