Struct cuprate_dandelion_tower::pool::IncomingTx
source · pub struct IncomingTx<Tx, TxID, PID> {
pub tx: Tx,
pub tx_id: TxID,
pub tx_state: TxState<PID>,
}Expand description
An incoming transaction for the DandelionPool to handle.
Users may notice there is no way to check if the dandelion-pool wants a tx according to an inventory message like seen in Bitcoin, only having a request for a full tx. Users should look in the public backing pool to handle inv messages, and request txs even if they are in the stem pool.
Fields§
§tx: TxThe transaction.
It is recommended to put this in an Arc as it needs to be cloned to send to the backing
tx pool and DandelionRouter
tx_id: TxIDThe transaction ID.
tx_state: TxState<PID>The routing state of this transaction.
Trait Implementations§
source§impl<Tx, TxID, PID> Service<IncomingTx<Tx, TxID, PID>> for DandelionPoolService<Tx, TxID, PID>
impl<Tx, TxID, PID> Service<IncomingTx<Tx, TxID, PID>> for DandelionPoolService<Tx, TxID, PID>
§type Error = DandelionPoolShutDown
type Error = DandelionPoolShutDown
Errors produced by the service.
§type Future = Pin<Box<dyn Future<Output = Result<<DandelionPoolService<Tx, TxID, PID> as Service<IncomingTx<Tx, TxID, PID>>>::Response, <DandelionPoolService<Tx, TxID, PID> as Service<IncomingTx<Tx, TxID, PID>>>::Error>> + Send>>
type Future = Pin<Box<dyn Future<Output = Result<<DandelionPoolService<Tx, TxID, PID> as Service<IncomingTx<Tx, TxID, PID>>>::Response, <DandelionPoolService<Tx, TxID, PID> as Service<IncomingTx<Tx, TxID, PID>>>::Error>> + Send>>
The future response value.
Auto Trait Implementations§
impl<Tx, TxID, PID> Freeze for IncomingTx<Tx, TxID, PID>
impl<Tx, TxID, PID> RefUnwindSafe for IncomingTx<Tx, TxID, PID>
impl<Tx, TxID, PID> Send for IncomingTx<Tx, TxID, PID>
impl<Tx, TxID, PID> Sync for IncomingTx<Tx, TxID, PID>
impl<Tx, TxID, PID> Unpin for IncomingTx<Tx, TxID, PID>
impl<Tx, TxID, PID> UnwindSafe for IncomingTx<Tx, TxID, PID>
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> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.