Networking ========== BNDL nodes form fully interconnected clusters through seed nodes and gossip. They communicate over TCP. See :doc:`./compute/getting_started` and :doc:`./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).