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
It may be desirable to convert a 1:1 "physical" connection on some backend into a set of N:N "logical" connections, each of which behaves as its own separate channel.
Proposal: two complementary wrappers around a pair of Tx/Rx that provides methods analogous to TCP. One wrapper, Acceptor, provides an accept method that awaits new connections; the other, Connector, provides a connect method that creates a new connection by generating a unique (at least, non-temporally-overlapping-on-this-connection) id and sends it. Ids could be generated by a Slab<()> or by the memory address of some pinned value that lasts the lifetime of the logical connection.
Use of the transmitter and receiver must be synchronized using one async mutex each, to ensure messages are fully sent.
The text was updated successfully, but these errors were encountered:
It may be desirable to convert a 1:1 "physical" connection on some backend into a set of N:N "logical" connections, each of which behaves as its own separate channel.
Proposal: two complementary wrappers around a pair of
Tx
/Rx
that provides methods analogous to TCP. One wrapper,Acceptor
, provides anaccept
method that awaits new connections; the other,Connector
, provides aconnect
method that creates a new connection by generating a unique (at least, non-temporally-overlapping-on-this-connection) id and sends it. Ids could be generated by aSlab<()>
or by the memory address of some pinned value that lasts the lifetime of the logical connection.Use of the transmitter and receiver must be synchronized using one async mutex each, to ensure messages are fully sent.
The text was updated successfully, but these errors were encountered: