summaryrefslogtreecommitdiff
path: root/vendor/tower/src/buffer/message.rs
blob: 6d13aa12b5cdaf5ddc11f823b65924a5ac7ee05c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use super::error::ServiceError;
use tokio::sync::oneshot;

/// Message sent over buffer
#[derive(Debug)]
pub(crate) struct Message<Request, Fut> {
    pub(crate) request: Request,
    pub(crate) tx: Tx<Fut>,
    pub(crate) span: tracing::Span,
}

/// Response sender
pub(crate) type Tx<Fut> = oneshot::Sender<Result<Fut, ServiceError>>;

/// Response receiver
pub(crate) type Rx<Fut> = oneshot::Receiver<Result<Fut, ServiceError>>;