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
As of right now, hivemind.P2P runs and controls a p2pd instance and accepts all incoming requests in a single process. However, a typical hivemind peer will run multiple processes that all require p2p communication.
Can you please research:
is it possible to connect multiple pythonic clients to the same P2Pd?
if it is, how do they process different protocols? For instance, if client1 handles protocol 'a' and client2 handles 'b', will p2pd route incoming calls with protocol 'a' to client1 and 'b' to client2?
what happens if multiple clients attempt to listen to the the same protocol?
if multiple clients can co-exist, can they be created in different processes?
The text was updated successfully, but these errors were encountered:
p2pd stores inside itself mapping protocol -> binding maddr. When request comes to p2pd, p2pd lookups binding that can handle request and opens connection to binding. After that p2pd is just a bridge between external node and python binding.
So,
Two different python bindings can connect to p2pd simultaneously
Two different python bindings can register handlers of different protocols and don't affect each other
If two different python bindings register handler of same protocol then only last will receive incoming connections
PS. Two different python bindings == two different processes
(libp2p branch)
As of right now, hivemind.P2P runs and controls a p2pd instance and accepts all incoming requests in a single process. However, a typical hivemind peer will run multiple processes that all require p2p communication.
Can you please research:
The text was updated successfully, but these errors were encountered: