SimpleClientManager¶
- class SimpleClientManager[source]¶
Bases:
ClientManager
Provides a pool of available clients.
Methods
all
()Return all available clients.
Return the number of available clients.
register
(client)Register Flower ClientProxy instance.
sample
(num_clients[, min_num_clients, criterion])Sample a number of Flower ClientProxy instances.
unregister
(client)Unregister Flower ClientProxy instance.
wait_for
(num_clients[, timeout])Wait until at least num_clients are available.
- num_available() int [source]¶
Return the number of available clients.
- Returns:
num_available – The number of currently available clients.
- Return type:
int
- register(client: ClientProxy) bool [source]¶
Register Flower ClientProxy instance.
- Parameters:
client (flwr.server.client_proxy.ClientProxy)
- Returns:
success – Indicating if registration was successful. False if ClientProxy is already registered or can not be registered for any reason.
- Return type:
bool
- sample(num_clients: int, min_num_clients: int | None = None, criterion: Criterion | None = None) list[ClientProxy] [source]¶
Sample a number of Flower ClientProxy instances.
- unregister(client: ClientProxy) None [source]¶
Unregister Flower ClientProxy instance.
This method is idempotent.
- Parameters:
client (flwr.server.client_proxy.ClientProxy)
- wait_for(num_clients: int, timeout: int = 86400) bool [source]¶
Wait until at least num_clients are available.
Blocks until the requested number of clients is available or until a timeout is reached. Current timeout default: 1 day.
- Parameters:
num_clients (int) – The number of clients to wait for.
timeout (int) – The time in seconds to wait for, defaults to 86400 (24h).
- Returns:
success
- Return type:
bool