Struct pd_client::util::Request[][src]

pub struct Request<Req, F> {
    remain_reconnect_count: usize,
    request_sent: usize,
    client: Arc<Client>,
    req: Req,
    func: F,
}

The context of sending requets.

Fields

remain_reconnect_count: usizerequest_sent: usizeclient: Arc<Client>req: Reqfunc: F

Implementations

impl<Req, Resp, F> Request<Req, F> where
    Req: Clone + Send + 'static,
    F: FnMut(&Client, Req) -> PdFuture<Resp> + Send + 'static, 
[src]

async fn reconnect_if_needed(&mut self) -> Result<()>[src]

async fn send_and_receive(&mut self) -> Result<Resp>[src]

fn should_not_retry(resp: &Result<Resp>) -> bool[src]

pub fn execute(self) -> PdFuture<Resp>[src]

Returns a Future, it is resolves once a future returned by the closure is resolved successfully, otherwise it repeats retry times.

Auto Trait Implementations

impl<Req, F> !RefUnwindSafe for Request<Req, F>

impl<Req, F> Send for Request<Req, F> where
    F: Send,
    Req: Send

impl<Req, F> Sync for Request<Req, F> where
    F: Sync,
    Req: Sync

impl<Req, F> Unpin for Request<Req, F> where
    F: Unpin,
    Req: Unpin

impl<Req, F> !UnwindSafe for Request<Req, F>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]