flwr 1.22.0__py3-none-any.whl → 1.24.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- flwr/__init__.py +16 -5
- flwr/app/error.py +2 -2
- flwr/app/exception.py +3 -3
- flwr/cli/app.py +34 -1
- flwr/cli/app_cmd/__init__.py +23 -0
- flwr/cli/app_cmd/publish.py +285 -0
- flwr/cli/app_cmd/review.py +252 -0
- flwr/cli/auth_plugin/__init__.py +15 -6
- flwr/cli/auth_plugin/auth_plugin.py +94 -0
- flwr/cli/auth_plugin/noop_auth_plugin.py +101 -0
- flwr/cli/auth_plugin/oidc_cli_plugin.py +46 -32
- flwr/cli/build.py +166 -53
- flwr/cli/{cli_user_auth_interceptor.py → cli_account_auth_interceptor.py} +29 -11
- flwr/cli/config_utils.py +101 -13
- flwr/cli/federation/__init__.py +24 -0
- flwr/cli/federation/ls.py +140 -0
- flwr/cli/federation/show.py +317 -0
- flwr/cli/install.py +91 -13
- flwr/cli/log.py +54 -11
- flwr/cli/login/login.py +41 -27
- flwr/cli/ls.py +177 -133
- flwr/cli/new/new.py +175 -40
- flwr/cli/new/templates/app/code/task.pytorch.py.tpl +1 -0
- flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.jax.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +3 -3
- flwr/cli/new/templates/app/pyproject.pytorch_legacy_api.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +1 -1
- flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +2 -2
- flwr/cli/new/templates/app/pyproject.xgboost.toml.tpl +1 -1
- flwr/cli/pull.py +12 -7
- flwr/cli/run/run.py +82 -31
- flwr/cli/run_utils.py +130 -0
- flwr/cli/stop.py +27 -9
- flwr/cli/supernode/__init__.py +25 -0
- flwr/cli/supernode/ls.py +268 -0
- flwr/cli/supernode/register.py +190 -0
- flwr/cli/supernode/unregister.py +140 -0
- flwr/cli/utils.py +464 -81
- flwr/client/__init__.py +2 -1
- flwr/client/dpfedavg_numpy_client.py +4 -1
- flwr/client/grpc_adapter_client/connection.py +12 -15
- flwr/client/grpc_rere_client/connection.py +68 -41
- flwr/client/grpc_rere_client/grpc_adapter.py +34 -14
- flwr/client/grpc_rere_client/{client_interceptor.py → node_auth_client_interceptor.py} +5 -7
- flwr/client/message_handler/message_handler.py +2 -2
- flwr/client/mod/secure_aggregation/secaggplus_mod.py +10 -8
- flwr/client/numpy_client.py +1 -1
- flwr/client/rest_client/connection.py +94 -51
- flwr/client/run_info_store.py +4 -5
- flwr/client/typing.py +1 -1
- flwr/clientapp/__init__.py +1 -2
- flwr/{client → clientapp}/client_app.py +9 -10
- flwr/clientapp/mod/centraldp_mods.py +16 -17
- flwr/clientapp/mod/localdp_mod.py +8 -9
- flwr/clientapp/typing.py +1 -1
- flwr/{client/clientapp → clientapp}/utils.py +4 -4
- flwr/common/address.py +1 -2
- flwr/common/args.py +3 -4
- flwr/common/config.py +13 -16
- flwr/common/constant.py +56 -13
- flwr/common/differential_privacy.py +3 -4
- flwr/common/event_log_plugin/event_log_plugin.py +3 -4
- flwr/common/exit/exit.py +15 -2
- flwr/common/exit/exit_code.py +39 -10
- flwr/common/exit/exit_handler.py +6 -2
- flwr/common/exit/signal_handler.py +5 -5
- flwr/common/grpc.py +6 -6
- flwr/common/inflatable_protobuf_utils.py +1 -1
- flwr/common/inflatable_utils.py +48 -31
- flwr/common/logger.py +19 -19
- flwr/common/message.py +4 -4
- flwr/common/object_ref.py +7 -7
- flwr/common/record/array.py +6 -6
- flwr/common/record/arrayrecord.py +18 -21
- flwr/common/record/configrecord.py +3 -3
- flwr/common/record/recorddict.py +5 -5
- flwr/common/record/typeddict.py +9 -2
- flwr/common/recorddict_compat.py +7 -10
- flwr/common/retry_invoker.py +20 -20
- flwr/common/secure_aggregation/crypto/symmetric_encryption.py +1 -89
- flwr/common/secure_aggregation/ndarrays_arithmetic.py +3 -3
- flwr/common/serde.py +9 -6
- flwr/common/serde_utils.py +2 -2
- flwr/common/telemetry.py +9 -5
- flwr/common/typing.py +59 -43
- flwr/compat/client/app.py +39 -38
- flwr/compat/client/grpc_client/connection.py +13 -13
- flwr/compat/server/app.py +5 -6
- flwr/proto/appio_pb2.py +13 -3
- flwr/proto/appio_pb2.pyi +134 -65
- flwr/proto/appio_pb2_grpc.py +20 -0
- flwr/proto/appio_pb2_grpc.pyi +27 -0
- flwr/proto/clientappio_pb2.py +17 -7
- flwr/proto/clientappio_pb2.pyi +15 -0
- flwr/proto/clientappio_pb2_grpc.py +206 -40
- flwr/proto/clientappio_pb2_grpc.pyi +168 -53
- flwr/proto/control_pb2.py +72 -40
- flwr/proto/control_pb2.pyi +319 -87
- flwr/proto/control_pb2_grpc.py +339 -28
- flwr/proto/control_pb2_grpc.pyi +209 -37
- flwr/proto/error_pb2.py +13 -3
- flwr/proto/error_pb2.pyi +24 -6
- flwr/proto/error_pb2_grpc.py +20 -0
- flwr/proto/error_pb2_grpc.pyi +27 -0
- flwr/proto/fab_pb2.py +24 -10
- flwr/proto/fab_pb2.pyi +68 -20
- flwr/proto/fab_pb2_grpc.py +20 -0
- flwr/proto/fab_pb2_grpc.pyi +27 -0
- flwr/proto/federation_pb2.py +38 -0
- flwr/proto/federation_pb2.pyi +56 -0
- flwr/proto/federation_pb2_grpc.py +24 -0
- flwr/proto/federation_pb2_grpc.pyi +31 -0
- flwr/proto/fleet_pb2.py +45 -27
- flwr/proto/fleet_pb2.pyi +186 -70
- flwr/proto/fleet_pb2_grpc.py +277 -66
- flwr/proto/fleet_pb2_grpc.pyi +201 -55
- flwr/proto/grpcadapter_pb2.py +14 -4
- flwr/proto/grpcadapter_pb2.pyi +38 -16
- flwr/proto/grpcadapter_pb2_grpc.py +35 -4
- flwr/proto/grpcadapter_pb2_grpc.pyi +38 -7
- flwr/proto/heartbeat_pb2.py +17 -7
- flwr/proto/heartbeat_pb2.pyi +51 -22
- flwr/proto/heartbeat_pb2_grpc.py +20 -0
- flwr/proto/heartbeat_pb2_grpc.pyi +27 -0
- flwr/proto/log_pb2.py +13 -3
- flwr/proto/log_pb2.pyi +34 -11
- flwr/proto/log_pb2_grpc.py +20 -0
- flwr/proto/log_pb2_grpc.pyi +27 -0
- flwr/proto/message_pb2.py +15 -5
- flwr/proto/message_pb2.pyi +154 -86
- flwr/proto/message_pb2_grpc.py +20 -0
- flwr/proto/message_pb2_grpc.pyi +27 -0
- flwr/proto/node_pb2.py +16 -4
- flwr/proto/node_pb2.pyi +77 -4
- flwr/proto/node_pb2_grpc.py +20 -0
- flwr/proto/node_pb2_grpc.pyi +27 -0
- flwr/proto/recorddict_pb2.py +13 -3
- flwr/proto/recorddict_pb2.pyi +184 -107
- flwr/proto/recorddict_pb2_grpc.py +20 -0
- flwr/proto/recorddict_pb2_grpc.pyi +27 -0
- flwr/proto/run_pb2.py +40 -31
- flwr/proto/run_pb2.pyi +149 -84
- flwr/proto/run_pb2_grpc.py +20 -0
- flwr/proto/run_pb2_grpc.pyi +27 -0
- flwr/proto/serverappio_pb2.py +13 -3
- flwr/proto/serverappio_pb2.pyi +32 -8
- flwr/proto/serverappio_pb2_grpc.py +246 -65
- flwr/proto/serverappio_pb2_grpc.pyi +221 -85
- flwr/proto/simulationio_pb2.py +16 -8
- flwr/proto/simulationio_pb2.pyi +15 -0
- flwr/proto/simulationio_pb2_grpc.py +162 -41
- flwr/proto/simulationio_pb2_grpc.pyi +149 -55
- flwr/proto/transport_pb2.py +20 -10
- flwr/proto/transport_pb2.pyi +249 -160
- flwr/proto/transport_pb2_grpc.py +35 -4
- flwr/proto/transport_pb2_grpc.pyi +38 -8
- flwr/server/app.py +173 -127
- flwr/server/client_manager.py +4 -5
- flwr/server/client_proxy.py +10 -11
- flwr/server/compat/app.py +4 -5
- flwr/server/compat/app_utils.py +2 -1
- flwr/server/compat/grid_client_proxy.py +10 -12
- flwr/server/compat/legacy_context.py +3 -4
- flwr/server/fleet_event_log_interceptor.py +2 -1
- flwr/server/grid/grid.py +2 -3
- flwr/server/grid/grpc_grid.py +10 -8
- flwr/server/grid/inmemory_grid.py +4 -4
- flwr/server/run_serverapp.py +2 -3
- flwr/server/server.py +34 -39
- flwr/server/server_app.py +7 -8
- flwr/server/server_config.py +1 -2
- flwr/server/serverapp/app.py +34 -28
- flwr/server/serverapp_components.py +4 -5
- flwr/server/strategy/aggregate.py +9 -8
- flwr/server/strategy/bulyan.py +13 -11
- flwr/server/strategy/dp_adaptive_clipping.py +16 -20
- flwr/server/strategy/dp_fixed_clipping.py +12 -17
- flwr/server/strategy/dpfedavg_adaptive.py +3 -4
- flwr/server/strategy/dpfedavg_fixed.py +6 -10
- flwr/server/strategy/fault_tolerant_fedavg.py +14 -13
- flwr/server/strategy/fedadagrad.py +18 -14
- flwr/server/strategy/fedadam.py +16 -14
- flwr/server/strategy/fedavg.py +16 -17
- flwr/server/strategy/fedavg_android.py +15 -15
- flwr/server/strategy/fedavgm.py +21 -18
- flwr/server/strategy/fedmedian.py +2 -3
- flwr/server/strategy/fedopt.py +11 -10
- flwr/server/strategy/fedprox.py +10 -9
- flwr/server/strategy/fedtrimmedavg.py +12 -11
- flwr/server/strategy/fedxgb_bagging.py +13 -11
- flwr/server/strategy/fedxgb_cyclic.py +6 -6
- flwr/server/strategy/fedxgb_nn_avg.py +4 -4
- flwr/server/strategy/fedyogi.py +16 -14
- flwr/server/strategy/krum.py +12 -11
- flwr/server/strategy/qfedavg.py +16 -15
- flwr/server/strategy/strategy.py +6 -9
- flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +19 -8
- flwr/server/superlink/fleet/grpc_bidi/flower_service_servicer.py +1 -2
- flwr/server/superlink/fleet/grpc_bidi/grpc_bridge.py +3 -4
- flwr/server/superlink/fleet/grpc_bidi/grpc_client_proxy.py +10 -12
- flwr/server/superlink/fleet/grpc_bidi/grpc_server.py +1 -3
- flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +136 -42
- flwr/server/superlink/fleet/grpc_rere/{server_interceptor.py → node_auth_server_interceptor.py} +28 -51
- flwr/server/superlink/fleet/message_handler/message_handler.py +100 -49
- flwr/server/superlink/fleet/rest_rere/rest_api.py +54 -33
- flwr/server/superlink/fleet/vce/backend/backend.py +2 -2
- flwr/server/superlink/fleet/vce/backend/raybackend.py +6 -6
- flwr/server/superlink/fleet/vce/vce_api.py +32 -13
- flwr/server/superlink/linkstate/in_memory_linkstate.py +266 -207
- flwr/server/superlink/linkstate/linkstate.py +161 -62
- flwr/server/superlink/linkstate/linkstate_factory.py +24 -6
- flwr/server/superlink/linkstate/sqlite_linkstate.py +698 -638
- flwr/server/superlink/linkstate/utils.py +9 -60
- flwr/server/superlink/serverappio/serverappio_grpc.py +1 -2
- flwr/server/superlink/serverappio/serverappio_servicer.py +28 -23
- flwr/server/superlink/simulation/simulationio_grpc.py +1 -2
- flwr/server/superlink/simulation/simulationio_servicer.py +19 -14
- flwr/server/superlink/utils.py +4 -6
- flwr/server/typing.py +1 -1
- flwr/server/utils/tensorboard.py +15 -8
- flwr/server/utils/validator.py +2 -3
- flwr/server/workflow/default_workflows.py +5 -5
- flwr/server/workflow/secure_aggregation/secagg_workflow.py +2 -4
- flwr/server/workflow/secure_aggregation/secaggplus_workflow.py +12 -10
- flwr/serverapp/strategy/bulyan.py +16 -15
- flwr/serverapp/strategy/dp_adaptive_clipping.py +12 -11
- flwr/serverapp/strategy/dp_fixed_clipping.py +11 -14
- flwr/serverapp/strategy/fedadagrad.py +10 -11
- flwr/serverapp/strategy/fedadam.py +10 -11
- flwr/serverapp/strategy/fedavg.py +9 -10
- flwr/serverapp/strategy/fedavgm.py +17 -16
- flwr/serverapp/strategy/fedmedian.py +2 -2
- flwr/serverapp/strategy/fedopt.py +10 -11
- flwr/serverapp/strategy/fedprox.py +7 -8
- flwr/serverapp/strategy/fedtrimmedavg.py +9 -9
- flwr/serverapp/strategy/fedxgb_bagging.py +3 -3
- flwr/serverapp/strategy/fedxgb_cyclic.py +9 -9
- flwr/serverapp/strategy/fedyogi.py +9 -11
- flwr/serverapp/strategy/krum.py +7 -7
- flwr/serverapp/strategy/multikrum.py +9 -9
- flwr/serverapp/strategy/qfedavg.py +17 -16
- flwr/serverapp/strategy/strategy.py +6 -9
- flwr/serverapp/strategy/strategy_utils.py +7 -8
- flwr/simulation/app.py +46 -42
- flwr/simulation/legacy_app.py +12 -12
- flwr/simulation/ray_transport/ray_actor.py +11 -12
- flwr/simulation/ray_transport/ray_client_proxy.py +12 -13
- flwr/simulation/run_simulation.py +44 -43
- flwr/simulation/simulationio_connection.py +4 -4
- flwr/supercore/cli/flower_superexec.py +3 -4
- flwr/supercore/constant.py +52 -0
- flwr/supercore/corestate/corestate.py +24 -3
- flwr/supercore/corestate/in_memory_corestate.py +138 -0
- flwr/supercore/corestate/sqlite_corestate.py +157 -0
- flwr/supercore/ffs/disk_ffs.py +1 -2
- flwr/supercore/ffs/ffs.py +1 -2
- flwr/supercore/ffs/ffs_factory.py +1 -2
- flwr/{common → supercore}/heartbeat.py +20 -25
- flwr/supercore/object_store/in_memory_object_store.py +1 -6
- flwr/supercore/object_store/object_store.py +1 -2
- flwr/supercore/object_store/object_store_factory.py +27 -8
- flwr/supercore/object_store/sqlite_object_store.py +253 -0
- flwr/{client/clientapp → supercore/primitives}/__init__.py +1 -1
- flwr/supercore/primitives/asymmetric.py +117 -0
- flwr/supercore/primitives/asymmetric_ed25519.py +175 -0
- flwr/supercore/sqlite_mixin.py +159 -0
- flwr/supercore/superexec/plugin/base_exec_plugin.py +1 -2
- flwr/supercore/superexec/plugin/exec_plugin.py +3 -3
- flwr/supercore/superexec/run_superexec.py +9 -13
- flwr/supercore/utils.py +20 -0
- flwr/superlink/artifact_provider/artifact_provider.py +1 -2
- flwr/{common → superlink}/auth_plugin/__init__.py +6 -6
- flwr/superlink/auth_plugin/auth_plugin.py +88 -0
- flwr/superlink/auth_plugin/noop_auth_plugin.py +84 -0
- flwr/superlink/federation/__init__.py +24 -0
- flwr/superlink/federation/federation_manager.py +64 -0
- flwr/superlink/federation/noop_federation_manager.py +71 -0
- flwr/superlink/servicer/control/{control_user_auth_interceptor.py → control_account_auth_interceptor.py} +41 -32
- flwr/superlink/servicer/control/control_event_log_interceptor.py +7 -7
- flwr/superlink/servicer/control/control_grpc.py +18 -17
- flwr/superlink/servicer/control/control_license_interceptor.py +3 -3
- flwr/superlink/servicer/control/control_servicer.py +239 -63
- flwr/supernode/cli/flower_supernode.py +74 -26
- flwr/supernode/nodestate/in_memory_nodestate.py +60 -49
- flwr/supernode/nodestate/nodestate.py +7 -8
- flwr/supernode/nodestate/nodestate_factory.py +7 -4
- flwr/supernode/runtime/run_clientapp.py +43 -24
- flwr/supernode/servicer/clientappio/clientappio_servicer.py +40 -10
- flwr/supernode/start_client_internal.py +175 -51
- {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/METADATA +8 -8
- flwr-1.24.0.dist-info/RECORD +454 -0
- flwr/common/auth_plugin/auth_plugin.py +0 -149
- flwr/supercore/object_store/utils.py +0 -43
- flwr-1.22.0.dist-info/RECORD +0 -428
- {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/WHEEL +0 -0
- {flwr-1.22.0.dist-info → flwr-1.24.0.dist-info}/entry_points.txt +0 -0
flwr/proto/clientappio_pb2.py
CHANGED
|
@@ -1,30 +1,40 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
3
4
|
# source: flwr/proto/clientappio.proto
|
|
4
|
-
# Protobuf Python Version:
|
|
5
|
+
# Protobuf Python Version: 5.29.0
|
|
5
6
|
"""Generated protocol buffer code."""
|
|
6
7
|
from google.protobuf import descriptor as _descriptor
|
|
7
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
8
10
|
from google.protobuf import symbol_database as _symbol_database
|
|
9
11
|
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
5,
|
|
15
|
+
29,
|
|
16
|
+
0,
|
|
17
|
+
'',
|
|
18
|
+
'flwr/proto/clientappio.proto'
|
|
19
|
+
)
|
|
10
20
|
# @@protoc_insertion_point(imports)
|
|
11
21
|
|
|
12
22
|
_sym_db = _symbol_database.Default()
|
|
13
23
|
|
|
14
24
|
|
|
15
|
-
from flwr.proto import
|
|
25
|
+
from flwr.proto import heartbeat_pb2 as flwr_dot_proto_dot_heartbeat__pb2
|
|
16
26
|
from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
|
|
17
27
|
from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
|
|
18
28
|
from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
|
|
19
29
|
|
|
20
30
|
|
|
21
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lwr/proto/clientappio.proto\x12\nflwr.proto\x1a\
|
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lwr/proto/clientappio.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x18\x66lwr/proto/message.proto\x1a\x16\x66lwr/proto/appio.proto2\xeb\x07\n\x0b\x43lientAppIo\x12_\n\x10ListAppsToLaunch\x12#.flwr.proto.ListAppsToLaunchRequest\x1a$.flwr.proto.ListAppsToLaunchResponse\"\x00\x12S\n\x0cRequestToken\x12\x1f.flwr.proto.RequestTokenRequest\x1a .flwr.proto.RequestTokenResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\\\n\x13PullClientAppInputs\x12 .flwr.proto.PullAppInputsRequest\x1a!.flwr.proto.PullAppInputsResponse\"\x00\x12_\n\x14PushClientAppOutputs\x12!.flwr.proto.PushAppOutputsRequest\x1a\".flwr.proto.PushAppOutputsResponse\"\x00\x12X\n\x0bPushMessage\x12\".flwr.proto.PushAppMessagesRequest\x1a#.flwr.proto.PushAppMessagesResponse\"\x00\x12X\n\x0bPullMessage\x12\".flwr.proto.PullAppMessagesRequest\x1a#.flwr.proto.PullAppMessagesResponse\"\x00\x12_\n\x10SendAppHeartbeat\x12#.flwr.proto.SendAppHeartbeatRequest\x1a$.flwr.proto.SendAppHeartbeatResponse\"\x00\x12M\n\nPushObject\x12\x1d.flwr.proto.PushObjectRequest\x1a\x1e.flwr.proto.PushObjectResponse\"\x00\x12M\n\nPullObject\x12\x1d.flwr.proto.PullObjectRequest\x1a\x1e.flwr.proto.PullObjectResponse\"\x00\x12q\n\x16\x43onfirmMessageReceived\x12).flwr.proto.ConfirmMessageReceivedRequest\x1a*.flwr.proto.ConfirmMessageReceivedResponse\"\x00\x62\x06proto3')
|
|
22
32
|
|
|
23
33
|
_globals = globals()
|
|
24
34
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
25
35
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flwr.proto.clientappio_pb2', _globals)
|
|
26
|
-
if _descriptor._USE_C_DESCRIPTORS
|
|
27
|
-
DESCRIPTOR.
|
|
28
|
-
_globals['_CLIENTAPPIO']._serialized_start=
|
|
29
|
-
_globals['_CLIENTAPPIO']._serialized_end=
|
|
36
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
37
|
+
DESCRIPTOR._loaded_options = None
|
|
38
|
+
_globals['_CLIENTAPPIO']._serialized_start=145
|
|
39
|
+
_globals['_CLIENTAPPIO']._serialized_end=1148
|
|
30
40
|
# @@protoc_insertion_point(module_scope)
|
flwr/proto/clientappio_pb2.pyi
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
"""
|
|
2
2
|
@generated by mypy-protobuf. Do not edit manually!
|
|
3
3
|
isort:skip_file
|
|
4
|
+
Copyright 2024 Flower Labs GmbH. All Rights Reserved.
|
|
5
|
+
|
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
you may not use this file except in compliance with the License.
|
|
8
|
+
You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
See the License for the specific language governing permissions and
|
|
16
|
+
limitations under the License.
|
|
17
|
+
==============================================================================
|
|
4
18
|
"""
|
|
19
|
+
|
|
5
20
|
import google.protobuf.descriptor
|
|
6
21
|
|
|
7
22
|
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
2
|
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
3
|
import grpc
|
|
4
|
+
import warnings
|
|
4
5
|
|
|
5
6
|
from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
|
|
7
|
+
from flwr.proto import heartbeat_pb2 as flwr_dot_proto_dot_heartbeat__pb2
|
|
6
8
|
from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
|
|
7
9
|
from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
|
|
8
10
|
|
|
11
|
+
GRPC_GENERATED_VERSION = '1.70.0'
|
|
12
|
+
GRPC_VERSION = grpc.__version__
|
|
13
|
+
_version_not_supported = False
|
|
14
|
+
|
|
15
|
+
try:
|
|
16
|
+
from grpc._utilities import first_version_is_lower
|
|
17
|
+
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
|
18
|
+
except ImportError:
|
|
19
|
+
_version_not_supported = True
|
|
20
|
+
|
|
21
|
+
if _version_not_supported:
|
|
22
|
+
raise RuntimeError(
|
|
23
|
+
f'The grpc package installed is at version {GRPC_VERSION},'
|
|
24
|
+
+ f' but the generated code in flwr/proto/clientappio_pb2_grpc.py depends on'
|
|
25
|
+
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
|
26
|
+
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
|
27
|
+
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
|
28
|
+
)
|
|
29
|
+
|
|
9
30
|
|
|
10
31
|
class ClientAppIoStub(object):
|
|
11
32
|
"""Missing associated documentation comment in .proto file."""
|
|
@@ -20,52 +41,57 @@ class ClientAppIoStub(object):
|
|
|
20
41
|
'/flwr.proto.ClientAppIo/ListAppsToLaunch',
|
|
21
42
|
request_serializer=flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchRequest.SerializeToString,
|
|
22
43
|
response_deserializer=flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchResponse.FromString,
|
|
23
|
-
)
|
|
44
|
+
_registered_method=True)
|
|
24
45
|
self.RequestToken = channel.unary_unary(
|
|
25
46
|
'/flwr.proto.ClientAppIo/RequestToken',
|
|
26
47
|
request_serializer=flwr_dot_proto_dot_appio__pb2.RequestTokenRequest.SerializeToString,
|
|
27
48
|
response_deserializer=flwr_dot_proto_dot_appio__pb2.RequestTokenResponse.FromString,
|
|
28
|
-
)
|
|
49
|
+
_registered_method=True)
|
|
29
50
|
self.GetRun = channel.unary_unary(
|
|
30
51
|
'/flwr.proto.ClientAppIo/GetRun',
|
|
31
52
|
request_serializer=flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
|
|
32
53
|
response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
|
|
33
|
-
)
|
|
54
|
+
_registered_method=True)
|
|
34
55
|
self.PullClientAppInputs = channel.unary_unary(
|
|
35
56
|
'/flwr.proto.ClientAppIo/PullClientAppInputs',
|
|
36
57
|
request_serializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.SerializeToString,
|
|
37
58
|
response_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.FromString,
|
|
38
|
-
)
|
|
59
|
+
_registered_method=True)
|
|
39
60
|
self.PushClientAppOutputs = channel.unary_unary(
|
|
40
61
|
'/flwr.proto.ClientAppIo/PushClientAppOutputs',
|
|
41
62
|
request_serializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.SerializeToString,
|
|
42
63
|
response_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.FromString,
|
|
43
|
-
)
|
|
64
|
+
_registered_method=True)
|
|
44
65
|
self.PushMessage = channel.unary_unary(
|
|
45
66
|
'/flwr.proto.ClientAppIo/PushMessage',
|
|
46
67
|
request_serializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.SerializeToString,
|
|
47
68
|
response_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.FromString,
|
|
48
|
-
)
|
|
69
|
+
_registered_method=True)
|
|
49
70
|
self.PullMessage = channel.unary_unary(
|
|
50
71
|
'/flwr.proto.ClientAppIo/PullMessage',
|
|
51
72
|
request_serializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.SerializeToString,
|
|
52
73
|
response_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.FromString,
|
|
53
|
-
)
|
|
74
|
+
_registered_method=True)
|
|
75
|
+
self.SendAppHeartbeat = channel.unary_unary(
|
|
76
|
+
'/flwr.proto.ClientAppIo/SendAppHeartbeat',
|
|
77
|
+
request_serializer=flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatRequest.SerializeToString,
|
|
78
|
+
response_deserializer=flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatResponse.FromString,
|
|
79
|
+
_registered_method=True)
|
|
54
80
|
self.PushObject = channel.unary_unary(
|
|
55
81
|
'/flwr.proto.ClientAppIo/PushObject',
|
|
56
82
|
request_serializer=flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
|
|
57
83
|
response_deserializer=flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
|
|
58
|
-
)
|
|
84
|
+
_registered_method=True)
|
|
59
85
|
self.PullObject = channel.unary_unary(
|
|
60
86
|
'/flwr.proto.ClientAppIo/PullObject',
|
|
61
87
|
request_serializer=flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
|
|
62
88
|
response_deserializer=flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
|
|
63
|
-
)
|
|
89
|
+
_registered_method=True)
|
|
64
90
|
self.ConfirmMessageReceived = channel.unary_unary(
|
|
65
91
|
'/flwr.proto.ClientAppIo/ConfirmMessageReceived',
|
|
66
92
|
request_serializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
|
|
67
93
|
response_deserializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
|
|
68
|
-
)
|
|
94
|
+
_registered_method=True)
|
|
69
95
|
|
|
70
96
|
|
|
71
97
|
class ClientAppIoServicer(object):
|
|
@@ -120,6 +146,13 @@ class ClientAppIoServicer(object):
|
|
|
120
146
|
context.set_details('Method not implemented!')
|
|
121
147
|
raise NotImplementedError('Method not implemented!')
|
|
122
148
|
|
|
149
|
+
def SendAppHeartbeat(self, request, context):
|
|
150
|
+
"""App heartbeat
|
|
151
|
+
"""
|
|
152
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
153
|
+
context.set_details('Method not implemented!')
|
|
154
|
+
raise NotImplementedError('Method not implemented!')
|
|
155
|
+
|
|
123
156
|
def PushObject(self, request, context):
|
|
124
157
|
"""Push Object
|
|
125
158
|
"""
|
|
@@ -179,6 +212,11 @@ def add_ClientAppIoServicer_to_server(servicer, server):
|
|
|
179
212
|
request_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.FromString,
|
|
180
213
|
response_serializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.SerializeToString,
|
|
181
214
|
),
|
|
215
|
+
'SendAppHeartbeat': grpc.unary_unary_rpc_method_handler(
|
|
216
|
+
servicer.SendAppHeartbeat,
|
|
217
|
+
request_deserializer=flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatRequest.FromString,
|
|
218
|
+
response_serializer=flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatResponse.SerializeToString,
|
|
219
|
+
),
|
|
182
220
|
'PushObject': grpc.unary_unary_rpc_method_handler(
|
|
183
221
|
servicer.PushObject,
|
|
184
222
|
request_deserializer=flwr_dot_proto_dot_message__pb2.PushObjectRequest.FromString,
|
|
@@ -198,6 +236,7 @@ def add_ClientAppIoServicer_to_server(servicer, server):
|
|
|
198
236
|
generic_handler = grpc.method_handlers_generic_handler(
|
|
199
237
|
'flwr.proto.ClientAppIo', rpc_method_handlers)
|
|
200
238
|
server.add_generic_rpc_handlers((generic_handler,))
|
|
239
|
+
server.add_registered_method_handlers('flwr.proto.ClientAppIo', rpc_method_handlers)
|
|
201
240
|
|
|
202
241
|
|
|
203
242
|
# This class is part of an EXPERIMENTAL API.
|
|
@@ -215,11 +254,21 @@ class ClientAppIo(object):
|
|
|
215
254
|
wait_for_ready=None,
|
|
216
255
|
timeout=None,
|
|
217
256
|
metadata=None):
|
|
218
|
-
return grpc.experimental.unary_unary(
|
|
257
|
+
return grpc.experimental.unary_unary(
|
|
258
|
+
request,
|
|
259
|
+
target,
|
|
260
|
+
'/flwr.proto.ClientAppIo/ListAppsToLaunch',
|
|
219
261
|
flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchRequest.SerializeToString,
|
|
220
262
|
flwr_dot_proto_dot_appio__pb2.ListAppsToLaunchResponse.FromString,
|
|
221
|
-
options,
|
|
222
|
-
|
|
263
|
+
options,
|
|
264
|
+
channel_credentials,
|
|
265
|
+
insecure,
|
|
266
|
+
call_credentials,
|
|
267
|
+
compression,
|
|
268
|
+
wait_for_ready,
|
|
269
|
+
timeout,
|
|
270
|
+
metadata,
|
|
271
|
+
_registered_method=True)
|
|
223
272
|
|
|
224
273
|
@staticmethod
|
|
225
274
|
def RequestToken(request,
|
|
@@ -232,11 +281,21 @@ class ClientAppIo(object):
|
|
|
232
281
|
wait_for_ready=None,
|
|
233
282
|
timeout=None,
|
|
234
283
|
metadata=None):
|
|
235
|
-
return grpc.experimental.unary_unary(
|
|
284
|
+
return grpc.experimental.unary_unary(
|
|
285
|
+
request,
|
|
286
|
+
target,
|
|
287
|
+
'/flwr.proto.ClientAppIo/RequestToken',
|
|
236
288
|
flwr_dot_proto_dot_appio__pb2.RequestTokenRequest.SerializeToString,
|
|
237
289
|
flwr_dot_proto_dot_appio__pb2.RequestTokenResponse.FromString,
|
|
238
|
-
options,
|
|
239
|
-
|
|
290
|
+
options,
|
|
291
|
+
channel_credentials,
|
|
292
|
+
insecure,
|
|
293
|
+
call_credentials,
|
|
294
|
+
compression,
|
|
295
|
+
wait_for_ready,
|
|
296
|
+
timeout,
|
|
297
|
+
metadata,
|
|
298
|
+
_registered_method=True)
|
|
240
299
|
|
|
241
300
|
@staticmethod
|
|
242
301
|
def GetRun(request,
|
|
@@ -249,11 +308,21 @@ class ClientAppIo(object):
|
|
|
249
308
|
wait_for_ready=None,
|
|
250
309
|
timeout=None,
|
|
251
310
|
metadata=None):
|
|
252
|
-
return grpc.experimental.unary_unary(
|
|
311
|
+
return grpc.experimental.unary_unary(
|
|
312
|
+
request,
|
|
313
|
+
target,
|
|
314
|
+
'/flwr.proto.ClientAppIo/GetRun',
|
|
253
315
|
flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
|
|
254
316
|
flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
|
|
255
|
-
options,
|
|
256
|
-
|
|
317
|
+
options,
|
|
318
|
+
channel_credentials,
|
|
319
|
+
insecure,
|
|
320
|
+
call_credentials,
|
|
321
|
+
compression,
|
|
322
|
+
wait_for_ready,
|
|
323
|
+
timeout,
|
|
324
|
+
metadata,
|
|
325
|
+
_registered_method=True)
|
|
257
326
|
|
|
258
327
|
@staticmethod
|
|
259
328
|
def PullClientAppInputs(request,
|
|
@@ -266,11 +335,21 @@ class ClientAppIo(object):
|
|
|
266
335
|
wait_for_ready=None,
|
|
267
336
|
timeout=None,
|
|
268
337
|
metadata=None):
|
|
269
|
-
return grpc.experimental.unary_unary(
|
|
338
|
+
return grpc.experimental.unary_unary(
|
|
339
|
+
request,
|
|
340
|
+
target,
|
|
341
|
+
'/flwr.proto.ClientAppIo/PullClientAppInputs',
|
|
270
342
|
flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.SerializeToString,
|
|
271
343
|
flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.FromString,
|
|
272
|
-
options,
|
|
273
|
-
|
|
344
|
+
options,
|
|
345
|
+
channel_credentials,
|
|
346
|
+
insecure,
|
|
347
|
+
call_credentials,
|
|
348
|
+
compression,
|
|
349
|
+
wait_for_ready,
|
|
350
|
+
timeout,
|
|
351
|
+
metadata,
|
|
352
|
+
_registered_method=True)
|
|
274
353
|
|
|
275
354
|
@staticmethod
|
|
276
355
|
def PushClientAppOutputs(request,
|
|
@@ -283,11 +362,21 @@ class ClientAppIo(object):
|
|
|
283
362
|
wait_for_ready=None,
|
|
284
363
|
timeout=None,
|
|
285
364
|
metadata=None):
|
|
286
|
-
return grpc.experimental.unary_unary(
|
|
365
|
+
return grpc.experimental.unary_unary(
|
|
366
|
+
request,
|
|
367
|
+
target,
|
|
368
|
+
'/flwr.proto.ClientAppIo/PushClientAppOutputs',
|
|
287
369
|
flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.SerializeToString,
|
|
288
370
|
flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.FromString,
|
|
289
|
-
options,
|
|
290
|
-
|
|
371
|
+
options,
|
|
372
|
+
channel_credentials,
|
|
373
|
+
insecure,
|
|
374
|
+
call_credentials,
|
|
375
|
+
compression,
|
|
376
|
+
wait_for_ready,
|
|
377
|
+
timeout,
|
|
378
|
+
metadata,
|
|
379
|
+
_registered_method=True)
|
|
291
380
|
|
|
292
381
|
@staticmethod
|
|
293
382
|
def PushMessage(request,
|
|
@@ -300,11 +389,21 @@ class ClientAppIo(object):
|
|
|
300
389
|
wait_for_ready=None,
|
|
301
390
|
timeout=None,
|
|
302
391
|
metadata=None):
|
|
303
|
-
return grpc.experimental.unary_unary(
|
|
392
|
+
return grpc.experimental.unary_unary(
|
|
393
|
+
request,
|
|
394
|
+
target,
|
|
395
|
+
'/flwr.proto.ClientAppIo/PushMessage',
|
|
304
396
|
flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.SerializeToString,
|
|
305
397
|
flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.FromString,
|
|
306
|
-
options,
|
|
307
|
-
|
|
398
|
+
options,
|
|
399
|
+
channel_credentials,
|
|
400
|
+
insecure,
|
|
401
|
+
call_credentials,
|
|
402
|
+
compression,
|
|
403
|
+
wait_for_ready,
|
|
404
|
+
timeout,
|
|
405
|
+
metadata,
|
|
406
|
+
_registered_method=True)
|
|
308
407
|
|
|
309
408
|
@staticmethod
|
|
310
409
|
def PullMessage(request,
|
|
@@ -317,11 +416,48 @@ class ClientAppIo(object):
|
|
|
317
416
|
wait_for_ready=None,
|
|
318
417
|
timeout=None,
|
|
319
418
|
metadata=None):
|
|
320
|
-
return grpc.experimental.unary_unary(
|
|
419
|
+
return grpc.experimental.unary_unary(
|
|
420
|
+
request,
|
|
421
|
+
target,
|
|
422
|
+
'/flwr.proto.ClientAppIo/PullMessage',
|
|
321
423
|
flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.SerializeToString,
|
|
322
424
|
flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.FromString,
|
|
323
|
-
options,
|
|
324
|
-
|
|
425
|
+
options,
|
|
426
|
+
channel_credentials,
|
|
427
|
+
insecure,
|
|
428
|
+
call_credentials,
|
|
429
|
+
compression,
|
|
430
|
+
wait_for_ready,
|
|
431
|
+
timeout,
|
|
432
|
+
metadata,
|
|
433
|
+
_registered_method=True)
|
|
434
|
+
|
|
435
|
+
@staticmethod
|
|
436
|
+
def SendAppHeartbeat(request,
|
|
437
|
+
target,
|
|
438
|
+
options=(),
|
|
439
|
+
channel_credentials=None,
|
|
440
|
+
call_credentials=None,
|
|
441
|
+
insecure=False,
|
|
442
|
+
compression=None,
|
|
443
|
+
wait_for_ready=None,
|
|
444
|
+
timeout=None,
|
|
445
|
+
metadata=None):
|
|
446
|
+
return grpc.experimental.unary_unary(
|
|
447
|
+
request,
|
|
448
|
+
target,
|
|
449
|
+
'/flwr.proto.ClientAppIo/SendAppHeartbeat',
|
|
450
|
+
flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatRequest.SerializeToString,
|
|
451
|
+
flwr_dot_proto_dot_heartbeat__pb2.SendAppHeartbeatResponse.FromString,
|
|
452
|
+
options,
|
|
453
|
+
channel_credentials,
|
|
454
|
+
insecure,
|
|
455
|
+
call_credentials,
|
|
456
|
+
compression,
|
|
457
|
+
wait_for_ready,
|
|
458
|
+
timeout,
|
|
459
|
+
metadata,
|
|
460
|
+
_registered_method=True)
|
|
325
461
|
|
|
326
462
|
@staticmethod
|
|
327
463
|
def PushObject(request,
|
|
@@ -334,11 +470,21 @@ class ClientAppIo(object):
|
|
|
334
470
|
wait_for_ready=None,
|
|
335
471
|
timeout=None,
|
|
336
472
|
metadata=None):
|
|
337
|
-
return grpc.experimental.unary_unary(
|
|
473
|
+
return grpc.experimental.unary_unary(
|
|
474
|
+
request,
|
|
475
|
+
target,
|
|
476
|
+
'/flwr.proto.ClientAppIo/PushObject',
|
|
338
477
|
flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
|
|
339
478
|
flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
|
|
340
|
-
options,
|
|
341
|
-
|
|
479
|
+
options,
|
|
480
|
+
channel_credentials,
|
|
481
|
+
insecure,
|
|
482
|
+
call_credentials,
|
|
483
|
+
compression,
|
|
484
|
+
wait_for_ready,
|
|
485
|
+
timeout,
|
|
486
|
+
metadata,
|
|
487
|
+
_registered_method=True)
|
|
342
488
|
|
|
343
489
|
@staticmethod
|
|
344
490
|
def PullObject(request,
|
|
@@ -351,11 +497,21 @@ class ClientAppIo(object):
|
|
|
351
497
|
wait_for_ready=None,
|
|
352
498
|
timeout=None,
|
|
353
499
|
metadata=None):
|
|
354
|
-
return grpc.experimental.unary_unary(
|
|
500
|
+
return grpc.experimental.unary_unary(
|
|
501
|
+
request,
|
|
502
|
+
target,
|
|
503
|
+
'/flwr.proto.ClientAppIo/PullObject',
|
|
355
504
|
flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
|
|
356
505
|
flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
|
|
357
|
-
options,
|
|
358
|
-
|
|
506
|
+
options,
|
|
507
|
+
channel_credentials,
|
|
508
|
+
insecure,
|
|
509
|
+
call_credentials,
|
|
510
|
+
compression,
|
|
511
|
+
wait_for_ready,
|
|
512
|
+
timeout,
|
|
513
|
+
metadata,
|
|
514
|
+
_registered_method=True)
|
|
359
515
|
|
|
360
516
|
@staticmethod
|
|
361
517
|
def ConfirmMessageReceived(request,
|
|
@@ -368,8 +524,18 @@ class ClientAppIo(object):
|
|
|
368
524
|
wait_for_ready=None,
|
|
369
525
|
timeout=None,
|
|
370
526
|
metadata=None):
|
|
371
|
-
return grpc.experimental.unary_unary(
|
|
527
|
+
return grpc.experimental.unary_unary(
|
|
528
|
+
request,
|
|
529
|
+
target,
|
|
530
|
+
'/flwr.proto.ClientAppIo/ConfirmMessageReceived',
|
|
372
531
|
flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
|
|
373
532
|
flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
|
|
374
|
-
options,
|
|
375
|
-
|
|
533
|
+
options,
|
|
534
|
+
channel_credentials,
|
|
535
|
+
insecure,
|
|
536
|
+
call_credentials,
|
|
537
|
+
compression,
|
|
538
|
+
wait_for_ready,
|
|
539
|
+
timeout,
|
|
540
|
+
metadata,
|
|
541
|
+
_registered_method=True)
|