NetworkingΒΆ
BNDL nodes form fully interconnected clusters through seed nodes and gossip. They communicate over TCP. See Getting started and Configuration on how to configure seed nodes (and listen addresses)
The networking part of the stack is built with asyncio
so it consumes one thread to do the
network IO. Serialization in the network protocol is based on marshal.dumps
, if the data to be
sent can be marshalled, or pickle.dumps
if not. If even pickle fails using a cythonized version
of cloudpickle
is attempted. The protocol itself is framed with a length field and includes one
flag for whether the marshal was used or not (pickle being the only other option).