Skip to main content

ManagedClientSession

Struct ManagedClientSession 

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

Running managed client session.

ManagedClientSession::join waits for the worker and returns the session outcome or client error. Dropping the session requests cooperative cancellation; callers that need the outcome should explicitly join instead of relying on drop.

Implementations§

Source§

impl ManagedClientSession

Source

pub fn subscribe( &self, config: SubscriberConfig, ) -> Result<EventSubscription, ClientError>

Add another event subscriber to this running managed session.

The subscription receives only events published after it is registered.

Source

pub fn stop(&self)

Request cooperative cancellation of the managed session.

Cancellation is observed by the worker loop between socket receive, timeout polling, and send scheduling steps. Call join to wait for the worker and obtain the final SessionOutcome.

Source

pub fn join(self) -> Result<SessionOutcome, ClientError>

Wait for the managed worker thread to finish.

On success, returns lifecycle counters for the completed session. If the worker panicked, this returns ClientError::WorkerPanicked. Joining also disconnects all event subscriptions while leaving already queued events available to drain.

Trait Implementations§

Source§

impl Debug for ManagedClientSession

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Drop for ManagedClientSession

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. 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> Same for T

Source§

type Output = T

Should always be Self
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.