You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the entire msg + ack workflows are split into separate unidirectional subprotocols issues and handled as separate code paths. This causes several complications:
it is difficult to pair Ack for each Msg
in case of missing Ack the Msg protocol is still considered successful, but it should fail
there is no automatic pairing of Ack and Msg even for failed messages
workflows requiring bi-directional logic can not be easily used over the msg + ack combination and the implementation is overly complex.
introduce sampled message latency tracking over the new bi-directional protocol
It'd be beneficial to finally unite both subprotocols into a single one and implement relevant fixes to known subprotocol issues related to HOPR protocol.
Description
The new msg + ack protocol will have a single RequestId allowing it to be trackable together. That in turn allows to fix some of the major issues of the current design, including:
Use the new msg/ack protocol to randomly sample the peer connection instead of the heartbeat protocol, when messages pass through it
Always ack the msg request, even on msg failure, to increase the privacy
Simplify the packet processing pipeline to abstract away from the non-transport related behavior (e.g. tickets, chain ops...)
Update the code to use lazy initialization where possible and optimize background processes with true parallelization (e.g. rayon).
Optimize the large data object pass-through in the pipelines to improve throughput
Support the legacy protocol and allow the new protocol to be used/attempted to use by default.
Currently the entire
msg
+ack
workflows are split into separate unidirectional subprotocols issues and handled as separate code paths. This causes several complications:Ack
for eachMsg
Ack
theMsg
protocol is still considered successful, but it should failAck
andMsg
even for failed messagesmsg
+ack
combination and the implementation is overly complex.It'd be beneficial to finally unite both subprotocols into a single one and implement relevant fixes to known subprotocol issues related to HOPR protocol.
Description
The new
msg
+ack
protocol will have a singleRequestId
allowing it to be trackable together. That in turn allows to fix some of the major issues of the current design, including:msg/ack
protocol to randomly sample the peer connection instead of the heartbeat protocol, when messages pass through itack
themsg
request, even onmsg
failure, to increase the privacyrayon
).Relevant issues
Definition of DONE
msg + ack
protocol is defined in term of theRequestResponse
libp2p behaviorThe text was updated successfully, but these errors were encountered: