pub async fn run_msg_ack_protocol<Db, R>(
packet_cfg: PacketInteractionConfig,
db: Db,
resolver: R,
wire_msg: (impl Sink<(PeerId, Box<[u8]>)> + Clone + Unpin + Send + 'static, impl Stream<Item = (PeerId, Box<[u8]>)> + Send + 'static),
api: (impl Sink<(HoprPseudonym, ApplicationDataIn)> + Send + 'static, impl Stream<Item = (ResolvedTransportRouting, ApplicationDataOut)> + Send + 'static),
) -> HashMap<ProtocolProcesses, AbortHandle>where
Db: HoprDbProtocolOperations + Clone + Send + Sync + 'static,
R: ChainReadChannelOperations + ChainKeyOperations + ChainValues + Clone + Send + Sync + 'static,Expand description
Run all processes responsible for handling the msg and acknowledgment protocols.
The pipeline does not handle the mixing itself, that needs to be injected as a separate process
overlay on top of the wire_msg Stream or Sink.