tower_abci/buffer4/message.rs
1use super::error::ServiceError;
2use tokio::sync::{oneshot, OwnedSemaphorePermit};
3
4/// Message sent over buffer
5#[derive(Debug)]
6pub(crate) struct Message<Request, Fut> {
7 pub(crate) request: Request,
8 pub(crate) tx: Tx<Fut>,
9 pub(crate) span: tracing::Span,
10 pub(super) _permit: OwnedSemaphorePermit,
11}
12
13/// Response sender
14pub(crate) type Tx<Fut> = oneshot::Sender<Result<Fut, ServiceError>>;
15
16/// Response receiver
17pub(crate) type Rx<Fut> = oneshot::Receiver<Result<Fut, ServiceError>>;