Files
clever-show/docs/en/api/client_core.md
2020-10-15 15:45:05 +03:00

2.3 KiB

Module drone.modules.client_core

Module functions

Class Client

Client base class provides config loading, communication with server (including automatic reconnection, broadcast listening and binding).

Attributes:

server_connection (ConnectionManager) - connection to the server.

connected (bool) - whether the client is connected to the server.

client_id (string) - ID of the client.

config (ConfigManager) - contains loaded client configuration.

config_path (string) -  path to configuration file. There also should be config specification file at 'config_path\config\configspec_client.ini'.

__init__

def __init__(self, config_path='C:\\Users\\artem\\Documents\\GitHub\\COEX-clever-swarm\\clever-show\\drone\\modules\\..\\config\\client.ini')

Initialize self. See help(type(self)) for accurate signature.

broadcast_bind

def broadcast_bind(self, timeout=2.0, attempt_limit=3)

get_ntp_time

def get_ntp_time(ntp_host, ntp_port)

Gets and returns time from specified host and port of NTP server.

Args:

ntp_host (string): hostname or address of the NTP server.

ntp_port (int): port of the NTP server.

Returns:

int: Current time recieved from the NTP server

load_config

def load_config(self)

Loads or reloads config from file specified in 'config_path'.

on_broadcast_bind

def on_broadcast_bind(self)

Method called on binding to the server by broadcast. Override that method in order to add functionality.

start

def start(self)

Reloads config and starts infinite loop of connecting to the server and processing said connection. Calling of this method will indefinitely halt execution of any subsequent code.

time_now

def time_now(self)

gets and returns system time or NTP time depending on the config.

Returns:

int: Current time.