nebula.core.network.connection#

Classes#

Module Contents#

class nebula.core.network.connection.MessageChunk#
index: int#
data: bytes#
is_last: bool#
class nebula.core.network.connection.Connection(cm, reader, writer, id, host, port, direct=True, active=True, compression='zlib', config=None)#
Parameters:

cm (nebula.core.network.communications.CommunicationsManager)

DEFAULT_FEDERATED_ROUND#
cm#
reader#
writer#
id#
host#
port#
addr#
direct#
active#
last_active#
compression#
config#
federated_round#
latitude = None#
longitude = None#
loop#
read_task = None#
process_task = None#
pending_messages_queue#
message_buffers: Dict[bytes, Dict[int, MessageChunk]]#
EOT_CHAR = b'\x00\x00\x00\x04'#
COMPRESSION_CHAR = b'\x00\x00\x00\x01'#
DATA_TYPE_PREFIXES#
HEADER_SIZE = 21#
MAX_CHUNK_SIZE#
BUFFER_SIZE = 65536#
get_addr()#
get_federated_round()#
get_tunnel_status()#
update_round(federated_round)#
update_geolocation(latitude, longitude)#
get_geolocation()#
get_neighbor_distance()#
compute_distance(latitude, longitude)#
compute_distance_myself()#
get_ready()#
get_direct()#
set_direct(direct)#
set_active(active)#
is_active()#
get_last_active()#
async start()#
async stop()#
async reconnect(max_retries=5, delay=5)#
Parameters:
  • max_retries (int)

  • delay (int)

Return type:

None

async send(data, pb=True, encoding_type='utf-8', is_compressed=False)#
Parameters:
  • data (Any)

  • pb (bool)

  • encoding_type (str)

  • is_compressed (bool)

Return type:

None

async handle_incoming_message()#
Return type:

None

async process_message_queue()#
Return type:

None