pub struct PostRouter { /* private fields */ }Implementations§
Source§impl PostRouter
impl PostRouter
pub fn new() -> Arc<Self>
Sourcepub async fn register(&self, id: u64) -> Result<Receiver<PostResponse>>
pub async fn register(&self, id: u64) -> Result<Receiver<PostResponse>>
Registers interest in a post id, enforcing inflight cap.
Sourcepub async fn complete(&self, resp: PostResponse)
pub async fn complete(&self, resp: PostResponse)
Completes a waiting caller when a response arrives (releases inflight via Waiter drop).
Sourcepub async fn cancel(&self, id: u64)
pub async fn cancel(&self, id: u64)
Cancel a pending id (e.g., timeout); quietly succeed if id wasn’t present.
Sourcepub async fn await_with_timeout(
&self,
id: u64,
rx: Receiver<PostResponse>,
timeout: Duration,
) -> Result<PostResponse>
pub async fn await_with_timeout( &self, id: u64, rx: Receiver<PostResponse>, timeout: Duration, ) -> Result<PostResponse>
Await a response with timeout. On timeout or closed channel, cancels the id.
Trait Implementations§
Source§impl Debug for PostRouter
impl Debug for PostRouter
Auto Trait Implementations§
impl !Freeze for PostRouter
impl !RefUnwindSafe for PostRouter
impl Send for PostRouter
impl Sync for PostRouter
impl Unpin for PostRouter
impl UnsafeUnpin for PostRouter
impl !UnwindSafe for PostRouter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more