Skip to main content

start_incoming_packet_pipeline

Function start_incoming_packet_pipeline 

Source
async fn start_incoming_packet_pipeline<WIn, WOut, D, T, TEvt, AckIn, AckOut, AppIn, AppInErr>(
    __arg0: (WOut, WIn),
    decoder: Arc<D>,
    ticket_proc: Arc<T>,
    ticket_events: TEvt,
    __arg4: (AckOut, AckIn),
    app_incoming: AppIn,
    counters: PeerProtocolCounterRegistry,
    concurrency: usize,
)
where WIn: Stream<Item = (PeerId, Box<[u8]>)> + Send + 'static, WOut: Sink<(PeerId, Box<[u8]>)> + Clone + Unpin + Send + 'static, WOut::Error: Error, D: PacketDecoder + Sync + Send + 'static, T: UnacknowledgedTicketProcessor + Send + 'static, TEvt: Sink<TicketEvent> + Clone + Unpin + Send + 'static, TEvt::Error: Error, AckIn: Sink<(OffchainPublicKey, Vec<Acknowledgement>)> + Send + Unpin + Clone + 'static, AckIn::Error: Error, AckOut: Sink<(OffchainPublicKey, Option<HalfKey>)> + Send + Unpin + Clone + 'static, AckOut::Error: Error, AppIn: Sink<(HoprPseudonym, ApplicationDataIn), Error = SinkTimeoutError<AppInErr>> + Send + 'static, AppInErr: Error,
Expand description

Performs HOPR protocol decoding of incoming packets into Application protocol packets.

wire_incoming –> decoder –> ack_outgoing (final + forwarded) | –> wire_outgoing (forwarded) | –> ack_incoming (forwarded) | –> app_incoming (final)