nvflare.private.fed.client.communicator module

class Communicator(ssl_args=None, secure_train=False, retry_timeout=30, client_state_processors: Optional[List[Filter]] = None, compression=None)[source]

Bases: object

To init the Communicator.

Parameters
  • ssl_args – SSL args

  • secure_train – True/False to indicate if secure train

  • retry_timeout – retry timeout in seconds

  • client_state_processors – Client state processor filters

  • compression – communicate compression algorithm

auxCommunicate(servers, project_name, token, ssid, fl_ctx: FLContext, client_name, shareable, topic, timeout)[source]

Send the auxiliary communication message to the server.

Parameters
  • servers – FL servers

  • project_name – server project name

  • token – client token

  • ssid – service session ID

  • fl_ctx – fl_ctx

  • client_name – client name

  • shareable – aux message shareable

  • topic – aux message topic

  • timeout – aux communication timeout

Returns

An AuxReply message from server

client_registration(client_name, servers, project_name)[source]

Client’s metadata used to authenticate and communicate.

Parameters
  • client_name – client name

  • servers – FL servers

  • project_name – FL study project name

Returns

The client’s token

getTask(servers, project_name, token, ssid, fl_ctx: FLContext)[source]

Get a task from server.

Parameters
  • servers – FL servers

  • project_name – FL study project name

  • token – client token

  • ssid – service session ID

  • fl_ctx – FLContext

Returns

A CurrentTask message from server

grpc_error_handler(service, grpc_error, action, verbose=False)[source]

Handling grpc exceptions.

Parameters
  • service – FL service

  • grpc_error – grpc error

  • action – action to take

  • verbose – verbose to error print out

quit_remote(servers, task_name, token, ssid, fl_ctx: FLContext)[source]

Sending the last message to the server before leaving.

Parameters
  • servers – FL servers

  • task_name – project name

  • token – FL client token

  • fl_ctx – FLContext

Returns

server’s reply to the last message

send_heartbeat(servers, task_name, token, ssid, client_name, engine: ClientEngineInternalSpec)[source]
set_up_channel(channel_dict, token=None)[source]

Connect client to the server.

Parameters
  • channel_dict – grpc channel parameters

  • token – client token

Returns

An initialised grpc channel

submitUpdate(servers, project_name, token, ssid, fl_ctx: FLContext, client_name, shareable, execute_task_name)[source]

Submit the task execution result back to the server.

Parameters
  • servers – FL servers

  • project_name – server project name

  • token – client token

  • ssid – service session ID

  • fl_ctx – fl_ctx

  • client_name – client name

  • shareable – execution task result shareable

  • execute_task_name – execution task name

Returns

A FederatedSummary message from the server.