5.1.1.2.1.3. FedEval.communicaiton.communicator

5.1.1.2.1.3.1. Module Contents

5.1.1.2.1.3.1.1. Classes

Communicatior

Helper class that provides a standard way to create an ABC using

ClientCommunicator

Helper class that provides a standard way to create an ABC using

ServerCommunicator

Helper class that provides a standard way to create an ABC using

5.1.1.2.1.3.1.2. Functions

_get_comm_in_and_out_linux(→ Tuple[int, int])

retrieve network traffic counter in linux platforms (with the support from psutil lib).

FedEval.communicaiton.communicator._get_comm_in_and_out_linux() Tuple[int, int]

retrieve network traffic counter in linux platforms (with the support from psutil lib).

Returns:

(the number of received bytes, the number of sent bytes)

Return type:

Tuple[int, int]

class FedEval.communicaiton.communicator.Communicatior

Bases: abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

static get_comm_in_and_out() Tuple[int, int]

retrieve network traffic counter.

Raises:

NotImplementedError – raised when called at unsupported platforms or unknown platforms.

Returns:

(the number of received bytes, the number of sent bytes)

Return type:

Tuple[int, int]

class FedEval.communicaiton.communicator.ClientCommunicator

Bases: Communicatior

Helper class that provides a standard way to create an ABC using inheritance.

abstract on(event: FedEval.communicaiton.events.ClientEvent, *on_args, **on_kwargs)
abstract invoke(event: FedEval.communicaiton.events.ServerEvent, *args, **kwargs)
abstract wait(**kw) None
class FedEval.communicaiton.communicator.ServerCommunicator

Bases: Communicatior

Helper class that provides a standard way to create an ABC using inheritance.

property ready_client_ids: Iterable[FedEval.config.role.ClientId]
abstract handle_disconnection() Iterable[FedEval.config.role.ClientId]
_handle_disconnection(comm_id: FedEval.role.container.CommunicationId) Iterable[FedEval.config.role.ClientId]
abstract handle_reconnection() Iterable[FedEval.config.role.ClientId]
_handle_reconnection(comm_id: FedEval.role.container.CommunicationId) Iterable[FedEval.config.role.ClientId]
abstract activate(node_id: FedEval.role.container.NodeId, client_ids: Iterable[FedEval.config.role.ClientId]) None
_activate(node_id: FedEval.role.container.NodeId, comm_id: FedEval.role.container.CommunicationId, client_ids: Iterable[FedEval.config.role.ClientId]) None
abstract invoke(event: FedEval.communicaiton.events.ClientEvent, *args, callee: FedEval.config.role.ClientId | None = None, **kwargs)
abstract invoke_all(event: FedEval.communicaiton.events.ClientEvent, payload: Dict[str, Any] | None = None, *args, callees: Iterable[FedEval.config.role.ClientId] | None = None, **kwargs)
abstract on(event: FedEval.communicaiton.events.ClientEvent) Callable[[Callable], Any]
abstract route(rule: str, **options: Any)
abstract run_server() None