pub struct FleetClientPool<M>where
M: ClientManager,{ /* private fields */ }Expand description
Fleet selection and exchange composition over a process-local client pool.
Implementations§
Source§impl<M> FleetClientPool<M>where
M: ClientManager,
impl<M> FleetClientPool<M>where
M: ClientManager,
pub fn new( manager: M, pool: Arc<Pool>, exchanges: Arc<Exchanges>, key: Key, policy: Arc<dyn Policy>, options: FleetPoolOptions, ) -> Result<FleetClientPool<M>, OptionsError>
pub async fn acquire( &self, metadata: &[u8], active_policy: ActiveRequestPolicy, ) -> Result<FleetClient<M>, FleetAcquireError<<M as ClientManager>::Error>>
Sourcepub async fn acquire_cancellable(
&self,
metadata: &[u8],
active_policy: ActiveRequestPolicy,
cancellation: &CancellationToken,
) -> Result<FleetClient<M>, FleetAcquireError<<M as ClientManager>::Error>>
pub async fn acquire_cancellable( &self, metadata: &[u8], active_policy: ActiveRequestPolicy, cancellation: &CancellationToken, ) -> Result<FleetClient<M>, FleetAcquireError<<M as ClientManager>::Error>>
Acquire one fleet client while also observing caller-owned cancellation.
Sourcepub async fn accept(
&self,
active_policy: ActiveRequestPolicy,
) -> Result<IncomingClientSession<M>, FleetAcquireError<<M as ClientManager>::Error>>
pub async fn accept( &self, active_policy: ActiveRequestPolicy, ) -> Result<IncomingClientSession<M>, FleetAcquireError<<M as ClientManager>::Error>>
Wait for and accept one remote exchange addressed to a local client.
Sourcepub async fn accept_cancellable(
&self,
active_policy: ActiveRequestPolicy,
cancellation: &CancellationToken,
) -> Result<IncomingClientSession<M>, FleetAcquireError<<M as ClientManager>::Error>>
pub async fn accept_cancellable( &self, active_policy: ActiveRequestPolicy, cancellation: &CancellationToken, ) -> Result<IncomingClientSession<M>, FleetAcquireError<<M as ClientManager>::Error>>
Accept a remote session while observing runtime cancellation.
Sourcepub async fn run(
&self,
cancellation: CancellationToken,
) -> Result<(), FleetAcquireError<<M as ClientManager>::Error>>
pub async fn run( &self, cancellation: CancellationToken, ) -> Result<(), FleetAcquireError<<M as ClientManager>::Error>>
Maintain fleet-wide warm capacity and local retirement until cancelled.
Protocol code runs Self::accept separately; this loop never consumes
an exchange whose request bytes it cannot interpret.
Sourcepub fn apply_local(&self, directive: PoolDirective)
pub fn apply_local(&self, directive: PoolDirective)
Apply a directive to this process’s admission gate.
This does not claim to pause sibling processes. A fleet-wide admission
controller needs a separately managed shared resource; orbit-pool
deliberately contains no profile-policy bit.
Sourcepub fn resume_local(&self) -> bool
pub fn resume_local(&self) -> bool
Resume this process’s policy-paused admission gate.
Sourcepub fn cancel_active_local(&self) -> bool
pub fn cancel_active_local(&self) -> bool
Explicitly cancel active local leases after admission has stopped.