flwr 1.18.0__py3-none-any.whl → 1.20.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.
Files changed (174) hide show
  1. flwr/app/__init__.py +15 -0
  2. flwr/app/error.py +68 -0
  3. flwr/app/metadata.py +223 -0
  4. flwr/cli/build.py +94 -59
  5. flwr/cli/log.py +3 -3
  6. flwr/cli/login/login.py +3 -7
  7. flwr/cli/ls.py +15 -36
  8. flwr/cli/new/new.py +12 -4
  9. flwr/cli/new/templates/app/README.flowertune.md.tpl +2 -0
  10. flwr/cli/new/templates/app/README.md.tpl +5 -0
  11. flwr/cli/new/templates/app/code/client.baseline.py.tpl +1 -1
  12. flwr/cli/new/templates/app/code/model.baseline.py.tpl +1 -1
  13. flwr/cli/new/templates/app/code/server.baseline.py.tpl +2 -3
  14. flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +25 -17
  15. flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +13 -1
  16. flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +21 -2
  17. flwr/cli/new/templates/app/pyproject.jax.toml.tpl +18 -1
  18. flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +19 -2
  19. flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +18 -1
  20. flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +20 -3
  21. flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +18 -1
  22. flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +18 -1
  23. flwr/cli/run/run.py +48 -49
  24. flwr/cli/stop.py +2 -2
  25. flwr/cli/utils.py +38 -5
  26. flwr/client/__init__.py +2 -2
  27. flwr/client/client_app.py +1 -1
  28. flwr/client/clientapp/__init__.py +0 -7
  29. flwr/client/grpc_adapter_client/connection.py +15 -8
  30. flwr/client/grpc_rere_client/connection.py +142 -97
  31. flwr/client/grpc_rere_client/grpc_adapter.py +34 -6
  32. flwr/client/message_handler/message_handler.py +1 -1
  33. flwr/client/mod/comms_mods.py +36 -17
  34. flwr/client/rest_client/connection.py +176 -103
  35. flwr/clientapp/__init__.py +15 -0
  36. flwr/common/__init__.py +2 -2
  37. flwr/common/auth_plugin/__init__.py +2 -0
  38. flwr/common/auth_plugin/auth_plugin.py +29 -3
  39. flwr/common/constant.py +39 -8
  40. flwr/common/event_log_plugin/event_log_plugin.py +3 -3
  41. flwr/common/exit/exit_code.py +16 -1
  42. flwr/common/exit_handlers.py +30 -0
  43. flwr/common/grpc.py +12 -1
  44. flwr/common/heartbeat.py +165 -0
  45. flwr/common/inflatable.py +290 -0
  46. flwr/common/inflatable_protobuf_utils.py +141 -0
  47. flwr/common/inflatable_utils.py +508 -0
  48. flwr/common/message.py +110 -242
  49. flwr/common/record/__init__.py +2 -1
  50. flwr/common/record/array.py +402 -0
  51. flwr/common/record/arraychunk.py +59 -0
  52. flwr/common/record/arrayrecord.py +103 -225
  53. flwr/common/record/configrecord.py +59 -4
  54. flwr/common/record/conversion_utils.py +1 -1
  55. flwr/common/record/metricrecord.py +55 -4
  56. flwr/common/record/recorddict.py +69 -1
  57. flwr/common/recorddict_compat.py +2 -2
  58. flwr/common/retry_invoker.py +5 -1
  59. flwr/common/serde.py +59 -211
  60. flwr/common/serde_utils.py +175 -0
  61. flwr/common/typing.py +5 -3
  62. flwr/compat/__init__.py +15 -0
  63. flwr/compat/client/__init__.py +15 -0
  64. flwr/{client → compat/client}/app.py +28 -185
  65. flwr/compat/common/__init__.py +15 -0
  66. flwr/compat/server/__init__.py +15 -0
  67. flwr/compat/server/app.py +174 -0
  68. flwr/compat/simulation/__init__.py +15 -0
  69. flwr/proto/appio_pb2.py +43 -0
  70. flwr/proto/appio_pb2.pyi +151 -0
  71. flwr/proto/appio_pb2_grpc.py +4 -0
  72. flwr/proto/appio_pb2_grpc.pyi +4 -0
  73. flwr/proto/clientappio_pb2.py +12 -19
  74. flwr/proto/clientappio_pb2.pyi +23 -101
  75. flwr/proto/clientappio_pb2_grpc.py +269 -28
  76. flwr/proto/clientappio_pb2_grpc.pyi +114 -20
  77. flwr/proto/fleet_pb2.py +24 -27
  78. flwr/proto/fleet_pb2.pyi +19 -35
  79. flwr/proto/fleet_pb2_grpc.py +117 -13
  80. flwr/proto/fleet_pb2_grpc.pyi +47 -6
  81. flwr/proto/heartbeat_pb2.py +33 -0
  82. flwr/proto/heartbeat_pb2.pyi +66 -0
  83. flwr/proto/heartbeat_pb2_grpc.py +4 -0
  84. flwr/proto/heartbeat_pb2_grpc.pyi +4 -0
  85. flwr/proto/message_pb2.py +28 -11
  86. flwr/proto/message_pb2.pyi +125 -0
  87. flwr/proto/recorddict_pb2.py +16 -28
  88. flwr/proto/recorddict_pb2.pyi +46 -64
  89. flwr/proto/run_pb2.py +24 -32
  90. flwr/proto/run_pb2.pyi +4 -52
  91. flwr/proto/serverappio_pb2.py +9 -23
  92. flwr/proto/serverappio_pb2.pyi +0 -110
  93. flwr/proto/serverappio_pb2_grpc.py +177 -72
  94. flwr/proto/serverappio_pb2_grpc.pyi +75 -33
  95. flwr/proto/simulationio_pb2.py +12 -11
  96. flwr/proto/simulationio_pb2_grpc.py +35 -0
  97. flwr/proto/simulationio_pb2_grpc.pyi +14 -0
  98. flwr/server/__init__.py +1 -1
  99. flwr/server/app.py +69 -187
  100. flwr/server/compat/app_utils.py +50 -28
  101. flwr/server/fleet_event_log_interceptor.py +6 -2
  102. flwr/server/grid/grpc_grid.py +148 -41
  103. flwr/server/grid/inmemory_grid.py +5 -4
  104. flwr/server/serverapp/app.py +45 -17
  105. flwr/server/superlink/fleet/grpc_adapter/grpc_adapter_servicer.py +21 -3
  106. flwr/server/superlink/fleet/grpc_rere/fleet_servicer.py +102 -8
  107. flwr/server/superlink/fleet/grpc_rere/server_interceptor.py +2 -5
  108. flwr/server/superlink/fleet/message_handler/message_handler.py +130 -19
  109. flwr/server/superlink/fleet/rest_rere/rest_api.py +73 -13
  110. flwr/server/superlink/fleet/vce/vce_api.py +6 -3
  111. flwr/server/superlink/linkstate/in_memory_linkstate.py +138 -43
  112. flwr/server/superlink/linkstate/linkstate.py +53 -20
  113. flwr/server/superlink/linkstate/sqlite_linkstate.py +149 -55
  114. flwr/server/superlink/linkstate/utils.py +33 -29
  115. flwr/server/superlink/serverappio/serverappio_grpc.py +4 -1
  116. flwr/server/superlink/serverappio/serverappio_servicer.py +230 -84
  117. flwr/server/superlink/simulation/simulationio_grpc.py +1 -1
  118. flwr/server/superlink/simulation/simulationio_servicer.py +26 -2
  119. flwr/server/superlink/utils.py +9 -2
  120. flwr/server/utils/validator.py +2 -2
  121. flwr/serverapp/__init__.py +15 -0
  122. flwr/simulation/app.py +25 -0
  123. flwr/simulation/run_simulation.py +17 -0
  124. flwr/supercore/__init__.py +15 -0
  125. flwr/{server/superlink → supercore}/ffs/__init__.py +2 -0
  126. flwr/{server/superlink → supercore}/ffs/disk_ffs.py +1 -1
  127. flwr/supercore/grpc_health/__init__.py +22 -0
  128. flwr/supercore/grpc_health/simple_health_servicer.py +38 -0
  129. flwr/supercore/license_plugin/__init__.py +22 -0
  130. flwr/supercore/license_plugin/license_plugin.py +26 -0
  131. flwr/supercore/object_store/__init__.py +24 -0
  132. flwr/supercore/object_store/in_memory_object_store.py +229 -0
  133. flwr/supercore/object_store/object_store.py +170 -0
  134. flwr/supercore/object_store/object_store_factory.py +44 -0
  135. flwr/supercore/object_store/utils.py +43 -0
  136. flwr/supercore/scheduler/__init__.py +22 -0
  137. flwr/supercore/scheduler/plugin.py +71 -0
  138. flwr/{client/nodestate/nodestate.py → supercore/utils.py} +14 -13
  139. flwr/superexec/deployment.py +7 -4
  140. flwr/superexec/exec_event_log_interceptor.py +8 -4
  141. flwr/superexec/exec_grpc.py +25 -5
  142. flwr/superexec/exec_license_interceptor.py +82 -0
  143. flwr/superexec/exec_servicer.py +135 -24
  144. flwr/superexec/exec_user_auth_interceptor.py +45 -8
  145. flwr/superexec/executor.py +5 -1
  146. flwr/superexec/simulation.py +8 -3
  147. flwr/superlink/__init__.py +15 -0
  148. flwr/{client/supernode → supernode}/__init__.py +0 -7
  149. flwr/supernode/cli/__init__.py +24 -0
  150. flwr/{client/supernode/app.py → supernode/cli/flower_supernode.py} +3 -19
  151. flwr/supernode/cli/flwr_clientapp.py +88 -0
  152. flwr/supernode/nodestate/in_memory_nodestate.py +199 -0
  153. flwr/supernode/nodestate/nodestate.py +227 -0
  154. flwr/supernode/runtime/__init__.py +15 -0
  155. flwr/{client/clientapp/app.py → supernode/runtime/run_clientapp.py} +135 -89
  156. flwr/supernode/scheduler/__init__.py +22 -0
  157. flwr/supernode/scheduler/simple_clientapp_scheduler_plugin.py +49 -0
  158. flwr/supernode/servicer/__init__.py +15 -0
  159. flwr/supernode/servicer/clientappio/__init__.py +22 -0
  160. flwr/supernode/servicer/clientappio/clientappio_servicer.py +303 -0
  161. flwr/supernode/start_client_internal.py +589 -0
  162. {flwr-1.18.0.dist-info → flwr-1.20.0.dist-info}/METADATA +6 -4
  163. {flwr-1.18.0.dist-info → flwr-1.20.0.dist-info}/RECORD +171 -123
  164. {flwr-1.18.0.dist-info → flwr-1.20.0.dist-info}/WHEEL +1 -1
  165. {flwr-1.18.0.dist-info → flwr-1.20.0.dist-info}/entry_points.txt +2 -2
  166. flwr/client/clientapp/clientappio_servicer.py +0 -244
  167. flwr/client/heartbeat.py +0 -74
  168. flwr/client/nodestate/in_memory_nodestate.py +0 -38
  169. /flwr/{client → compat/client}/grpc_client/__init__.py +0 -0
  170. /flwr/{client → compat/client}/grpc_client/connection.py +0 -0
  171. /flwr/{server/superlink → supercore}/ffs/ffs.py +0 -0
  172. /flwr/{server/superlink → supercore}/ffs/ffs_factory.py +0 -0
  173. /flwr/{client → supernode}/nodestate/__init__.py +0 -0
  174. /flwr/{client → supernode}/nodestate/nodestate_factory.py +0 -0
@@ -2,7 +2,10 @@
2
2
  """Client and server classes corresponding to protobuf-defined services."""
3
3
  import grpc
4
4
 
5
+ from flwr.proto import appio_pb2 as flwr_dot_proto_dot_appio__pb2
5
6
  from flwr.proto import clientappio_pb2 as flwr_dot_proto_dot_clientappio__pb2
7
+ from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
8
+ from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
6
9
 
7
10
 
8
11
  class ClientAppIoStub(object):
@@ -14,42 +17,126 @@ class ClientAppIoStub(object):
14
17
  Args:
15
18
  channel: A grpc.Channel.
16
19
  """
17
- self.GetToken = channel.unary_unary(
18
- '/flwr.proto.ClientAppIo/GetToken',
19
- request_serializer=flwr_dot_proto_dot_clientappio__pb2.GetTokenRequest.SerializeToString,
20
- response_deserializer=flwr_dot_proto_dot_clientappio__pb2.GetTokenResponse.FromString,
20
+ self.GetRunIdsWithPendingMessages = channel.unary_unary(
21
+ '/flwr.proto.ClientAppIo/GetRunIdsWithPendingMessages',
22
+ request_serializer=flwr_dot_proto_dot_clientappio__pb2.GetRunIdsWithPendingMessagesRequest.SerializeToString,
23
+ response_deserializer=flwr_dot_proto_dot_clientappio__pb2.GetRunIdsWithPendingMessagesResponse.FromString,
24
+ )
25
+ self.RequestToken = channel.unary_unary(
26
+ '/flwr.proto.ClientAppIo/RequestToken',
27
+ request_serializer=flwr_dot_proto_dot_clientappio__pb2.RequestTokenRequest.SerializeToString,
28
+ response_deserializer=flwr_dot_proto_dot_clientappio__pb2.RequestTokenResponse.FromString,
29
+ )
30
+ self.GetRun = channel.unary_unary(
31
+ '/flwr.proto.ClientAppIo/GetRun',
32
+ request_serializer=flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
33
+ response_deserializer=flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
21
34
  )
22
35
  self.PullClientAppInputs = channel.unary_unary(
23
36
  '/flwr.proto.ClientAppIo/PullClientAppInputs',
24
- request_serializer=flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsRequest.SerializeToString,
25
- response_deserializer=flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsResponse.FromString,
37
+ request_serializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.SerializeToString,
38
+ response_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.FromString,
26
39
  )
27
40
  self.PushClientAppOutputs = channel.unary_unary(
28
41
  '/flwr.proto.ClientAppIo/PushClientAppOutputs',
29
- request_serializer=flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsRequest.SerializeToString,
30
- response_deserializer=flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsResponse.FromString,
42
+ request_serializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.SerializeToString,
43
+ response_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.FromString,
44
+ )
45
+ self.PushMessage = channel.unary_unary(
46
+ '/flwr.proto.ClientAppIo/PushMessage',
47
+ request_serializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.SerializeToString,
48
+ response_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.FromString,
49
+ )
50
+ self.PullMessage = channel.unary_unary(
51
+ '/flwr.proto.ClientAppIo/PullMessage',
52
+ request_serializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.SerializeToString,
53
+ response_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.FromString,
54
+ )
55
+ self.PushObject = channel.unary_unary(
56
+ '/flwr.proto.ClientAppIo/PushObject',
57
+ request_serializer=flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
58
+ response_deserializer=flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
59
+ )
60
+ self.PullObject = channel.unary_unary(
61
+ '/flwr.proto.ClientAppIo/PullObject',
62
+ request_serializer=flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
63
+ response_deserializer=flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
64
+ )
65
+ self.ConfirmMessageReceived = channel.unary_unary(
66
+ '/flwr.proto.ClientAppIo/ConfirmMessageReceived',
67
+ request_serializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
68
+ response_deserializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
31
69
  )
32
70
 
33
71
 
34
72
  class ClientAppIoServicer(object):
35
73
  """Missing associated documentation comment in .proto file."""
36
74
 
37
- def GetToken(self, request, context):
38
- """Get token
75
+ def GetRunIdsWithPendingMessages(self, request, context):
76
+ """Get run IDs with pending messages
77
+ """
78
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
79
+ context.set_details('Method not implemented!')
80
+ raise NotImplementedError('Method not implemented!')
81
+
82
+ def RequestToken(self, request, context):
83
+ """Request token
84
+ """
85
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
86
+ context.set_details('Method not implemented!')
87
+ raise NotImplementedError('Method not implemented!')
88
+
89
+ def GetRun(self, request, context):
90
+ """Get run details
39
91
  """
40
92
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
41
93
  context.set_details('Method not implemented!')
42
94
  raise NotImplementedError('Method not implemented!')
43
95
 
44
96
  def PullClientAppInputs(self, request, context):
45
- """Get Message, Context, and Run
97
+ """Pull client app inputs
46
98
  """
47
99
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
48
100
  context.set_details('Method not implemented!')
49
101
  raise NotImplementedError('Method not implemented!')
50
102
 
51
103
  def PushClientAppOutputs(self, request, context):
52
- """Send updated Message and Context
104
+ """Push client app outputs
105
+ """
106
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
107
+ context.set_details('Method not implemented!')
108
+ raise NotImplementedError('Method not implemented!')
109
+
110
+ def PushMessage(self, request, context):
111
+ """Push Message
112
+ """
113
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
114
+ context.set_details('Method not implemented!')
115
+ raise NotImplementedError('Method not implemented!')
116
+
117
+ def PullMessage(self, request, context):
118
+ """Pull Message
119
+ """
120
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
121
+ context.set_details('Method not implemented!')
122
+ raise NotImplementedError('Method not implemented!')
123
+
124
+ def PushObject(self, request, context):
125
+ """Push Object
126
+ """
127
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
128
+ context.set_details('Method not implemented!')
129
+ raise NotImplementedError('Method not implemented!')
130
+
131
+ def PullObject(self, request, context):
132
+ """Pull Object
133
+ """
134
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
135
+ context.set_details('Method not implemented!')
136
+ raise NotImplementedError('Method not implemented!')
137
+
138
+ def ConfirmMessageReceived(self, request, context):
139
+ """Confirm Message Received
53
140
  """
54
141
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
55
142
  context.set_details('Method not implemented!')
@@ -58,20 +145,55 @@ class ClientAppIoServicer(object):
58
145
 
59
146
  def add_ClientAppIoServicer_to_server(servicer, server):
60
147
  rpc_method_handlers = {
61
- 'GetToken': grpc.unary_unary_rpc_method_handler(
62
- servicer.GetToken,
63
- request_deserializer=flwr_dot_proto_dot_clientappio__pb2.GetTokenRequest.FromString,
64
- response_serializer=flwr_dot_proto_dot_clientappio__pb2.GetTokenResponse.SerializeToString,
148
+ 'GetRunIdsWithPendingMessages': grpc.unary_unary_rpc_method_handler(
149
+ servicer.GetRunIdsWithPendingMessages,
150
+ request_deserializer=flwr_dot_proto_dot_clientappio__pb2.GetRunIdsWithPendingMessagesRequest.FromString,
151
+ response_serializer=flwr_dot_proto_dot_clientappio__pb2.GetRunIdsWithPendingMessagesResponse.SerializeToString,
152
+ ),
153
+ 'RequestToken': grpc.unary_unary_rpc_method_handler(
154
+ servicer.RequestToken,
155
+ request_deserializer=flwr_dot_proto_dot_clientappio__pb2.RequestTokenRequest.FromString,
156
+ response_serializer=flwr_dot_proto_dot_clientappio__pb2.RequestTokenResponse.SerializeToString,
157
+ ),
158
+ 'GetRun': grpc.unary_unary_rpc_method_handler(
159
+ servicer.GetRun,
160
+ request_deserializer=flwr_dot_proto_dot_run__pb2.GetRunRequest.FromString,
161
+ response_serializer=flwr_dot_proto_dot_run__pb2.GetRunResponse.SerializeToString,
65
162
  ),
66
163
  'PullClientAppInputs': grpc.unary_unary_rpc_method_handler(
67
164
  servicer.PullClientAppInputs,
68
- request_deserializer=flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsRequest.FromString,
69
- response_serializer=flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsResponse.SerializeToString,
165
+ request_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.FromString,
166
+ response_serializer=flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.SerializeToString,
70
167
  ),
71
168
  'PushClientAppOutputs': grpc.unary_unary_rpc_method_handler(
72
169
  servicer.PushClientAppOutputs,
73
- request_deserializer=flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsRequest.FromString,
74
- response_serializer=flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsResponse.SerializeToString,
170
+ request_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.FromString,
171
+ response_serializer=flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.SerializeToString,
172
+ ),
173
+ 'PushMessage': grpc.unary_unary_rpc_method_handler(
174
+ servicer.PushMessage,
175
+ request_deserializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.FromString,
176
+ response_serializer=flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.SerializeToString,
177
+ ),
178
+ 'PullMessage': grpc.unary_unary_rpc_method_handler(
179
+ servicer.PullMessage,
180
+ request_deserializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.FromString,
181
+ response_serializer=flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.SerializeToString,
182
+ ),
183
+ 'PushObject': grpc.unary_unary_rpc_method_handler(
184
+ servicer.PushObject,
185
+ request_deserializer=flwr_dot_proto_dot_message__pb2.PushObjectRequest.FromString,
186
+ response_serializer=flwr_dot_proto_dot_message__pb2.PushObjectResponse.SerializeToString,
187
+ ),
188
+ 'PullObject': grpc.unary_unary_rpc_method_handler(
189
+ servicer.PullObject,
190
+ request_deserializer=flwr_dot_proto_dot_message__pb2.PullObjectRequest.FromString,
191
+ response_serializer=flwr_dot_proto_dot_message__pb2.PullObjectResponse.SerializeToString,
192
+ ),
193
+ 'ConfirmMessageReceived': grpc.unary_unary_rpc_method_handler(
194
+ servicer.ConfirmMessageReceived,
195
+ request_deserializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.FromString,
196
+ response_serializer=flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.SerializeToString,
75
197
  ),
76
198
  }
77
199
  generic_handler = grpc.method_handlers_generic_handler(
@@ -84,7 +206,41 @@ class ClientAppIo(object):
84
206
  """Missing associated documentation comment in .proto file."""
85
207
 
86
208
  @staticmethod
87
- def GetToken(request,
209
+ def GetRunIdsWithPendingMessages(request,
210
+ target,
211
+ options=(),
212
+ channel_credentials=None,
213
+ call_credentials=None,
214
+ insecure=False,
215
+ compression=None,
216
+ wait_for_ready=None,
217
+ timeout=None,
218
+ metadata=None):
219
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/GetRunIdsWithPendingMessages',
220
+ flwr_dot_proto_dot_clientappio__pb2.GetRunIdsWithPendingMessagesRequest.SerializeToString,
221
+ flwr_dot_proto_dot_clientappio__pb2.GetRunIdsWithPendingMessagesResponse.FromString,
222
+ options, channel_credentials,
223
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
224
+
225
+ @staticmethod
226
+ def RequestToken(request,
227
+ target,
228
+ options=(),
229
+ channel_credentials=None,
230
+ call_credentials=None,
231
+ insecure=False,
232
+ compression=None,
233
+ wait_for_ready=None,
234
+ timeout=None,
235
+ metadata=None):
236
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/RequestToken',
237
+ flwr_dot_proto_dot_clientappio__pb2.RequestTokenRequest.SerializeToString,
238
+ flwr_dot_proto_dot_clientappio__pb2.RequestTokenResponse.FromString,
239
+ options, channel_credentials,
240
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
241
+
242
+ @staticmethod
243
+ def GetRun(request,
88
244
  target,
89
245
  options=(),
90
246
  channel_credentials=None,
@@ -94,9 +250,9 @@ class ClientAppIo(object):
94
250
  wait_for_ready=None,
95
251
  timeout=None,
96
252
  metadata=None):
97
- return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/GetToken',
98
- flwr_dot_proto_dot_clientappio__pb2.GetTokenRequest.SerializeToString,
99
- flwr_dot_proto_dot_clientappio__pb2.GetTokenResponse.FromString,
253
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/GetRun',
254
+ flwr_dot_proto_dot_run__pb2.GetRunRequest.SerializeToString,
255
+ flwr_dot_proto_dot_run__pb2.GetRunResponse.FromString,
100
256
  options, channel_credentials,
101
257
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
102
258
 
@@ -112,8 +268,8 @@ class ClientAppIo(object):
112
268
  timeout=None,
113
269
  metadata=None):
114
270
  return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/PullClientAppInputs',
115
- flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsRequest.SerializeToString,
116
- flwr_dot_proto_dot_clientappio__pb2.PullClientAppInputsResponse.FromString,
271
+ flwr_dot_proto_dot_appio__pb2.PullAppInputsRequest.SerializeToString,
272
+ flwr_dot_proto_dot_appio__pb2.PullAppInputsResponse.FromString,
117
273
  options, channel_credentials,
118
274
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
119
275
 
@@ -129,7 +285,92 @@ class ClientAppIo(object):
129
285
  timeout=None,
130
286
  metadata=None):
131
287
  return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/PushClientAppOutputs',
132
- flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsRequest.SerializeToString,
133
- flwr_dot_proto_dot_clientappio__pb2.PushClientAppOutputsResponse.FromString,
288
+ flwr_dot_proto_dot_appio__pb2.PushAppOutputsRequest.SerializeToString,
289
+ flwr_dot_proto_dot_appio__pb2.PushAppOutputsResponse.FromString,
290
+ options, channel_credentials,
291
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
292
+
293
+ @staticmethod
294
+ def PushMessage(request,
295
+ target,
296
+ options=(),
297
+ channel_credentials=None,
298
+ call_credentials=None,
299
+ insecure=False,
300
+ compression=None,
301
+ wait_for_ready=None,
302
+ timeout=None,
303
+ metadata=None):
304
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/PushMessage',
305
+ flwr_dot_proto_dot_appio__pb2.PushAppMessagesRequest.SerializeToString,
306
+ flwr_dot_proto_dot_appio__pb2.PushAppMessagesResponse.FromString,
307
+ options, channel_credentials,
308
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
309
+
310
+ @staticmethod
311
+ def PullMessage(request,
312
+ target,
313
+ options=(),
314
+ channel_credentials=None,
315
+ call_credentials=None,
316
+ insecure=False,
317
+ compression=None,
318
+ wait_for_ready=None,
319
+ timeout=None,
320
+ metadata=None):
321
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/PullMessage',
322
+ flwr_dot_proto_dot_appio__pb2.PullAppMessagesRequest.SerializeToString,
323
+ flwr_dot_proto_dot_appio__pb2.PullAppMessagesResponse.FromString,
324
+ options, channel_credentials,
325
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
326
+
327
+ @staticmethod
328
+ def PushObject(request,
329
+ target,
330
+ options=(),
331
+ channel_credentials=None,
332
+ call_credentials=None,
333
+ insecure=False,
334
+ compression=None,
335
+ wait_for_ready=None,
336
+ timeout=None,
337
+ metadata=None):
338
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/PushObject',
339
+ flwr_dot_proto_dot_message__pb2.PushObjectRequest.SerializeToString,
340
+ flwr_dot_proto_dot_message__pb2.PushObjectResponse.FromString,
341
+ options, channel_credentials,
342
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
343
+
344
+ @staticmethod
345
+ def PullObject(request,
346
+ target,
347
+ options=(),
348
+ channel_credentials=None,
349
+ call_credentials=None,
350
+ insecure=False,
351
+ compression=None,
352
+ wait_for_ready=None,
353
+ timeout=None,
354
+ metadata=None):
355
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/PullObject',
356
+ flwr_dot_proto_dot_message__pb2.PullObjectRequest.SerializeToString,
357
+ flwr_dot_proto_dot_message__pb2.PullObjectResponse.FromString,
358
+ options, channel_credentials,
359
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
360
+
361
+ @staticmethod
362
+ def ConfirmMessageReceived(request,
363
+ target,
364
+ options=(),
365
+ channel_credentials=None,
366
+ call_credentials=None,
367
+ insecure=False,
368
+ compression=None,
369
+ wait_for_ready=None,
370
+ timeout=None,
371
+ metadata=None):
372
+ return grpc.experimental.unary_unary(request, target, '/flwr.proto.ClientAppIo/ConfirmMessageReceived',
373
+ flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedRequest.SerializeToString,
374
+ flwr_dot_proto_dot_message__pb2.ConfirmMessageReceivedResponse.FromString,
134
375
  options, channel_credentials,
135
376
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -3,50 +3,144 @@
3
3
  isort:skip_file
4
4
  """
5
5
  import abc
6
+ import flwr.proto.appio_pb2
6
7
  import flwr.proto.clientappio_pb2
8
+ import flwr.proto.message_pb2
9
+ import flwr.proto.run_pb2
7
10
  import grpc
8
11
 
9
12
  class ClientAppIoStub:
10
13
  def __init__(self, channel: grpc.Channel) -> None: ...
11
- GetToken: grpc.UnaryUnaryMultiCallable[
12
- flwr.proto.clientappio_pb2.GetTokenRequest,
13
- flwr.proto.clientappio_pb2.GetTokenResponse]
14
- """Get token"""
14
+ GetRunIdsWithPendingMessages: grpc.UnaryUnaryMultiCallable[
15
+ flwr.proto.clientappio_pb2.GetRunIdsWithPendingMessagesRequest,
16
+ flwr.proto.clientappio_pb2.GetRunIdsWithPendingMessagesResponse]
17
+ """Get run IDs with pending messages"""
18
+
19
+ RequestToken: grpc.UnaryUnaryMultiCallable[
20
+ flwr.proto.clientappio_pb2.RequestTokenRequest,
21
+ flwr.proto.clientappio_pb2.RequestTokenResponse]
22
+ """Request token"""
23
+
24
+ GetRun: grpc.UnaryUnaryMultiCallable[
25
+ flwr.proto.run_pb2.GetRunRequest,
26
+ flwr.proto.run_pb2.GetRunResponse]
27
+ """Get run details"""
15
28
 
16
29
  PullClientAppInputs: grpc.UnaryUnaryMultiCallable[
17
- flwr.proto.clientappio_pb2.PullClientAppInputsRequest,
18
- flwr.proto.clientappio_pb2.PullClientAppInputsResponse]
19
- """Get Message, Context, and Run"""
30
+ flwr.proto.appio_pb2.PullAppInputsRequest,
31
+ flwr.proto.appio_pb2.PullAppInputsResponse]
32
+ """Pull client app inputs"""
20
33
 
21
34
  PushClientAppOutputs: grpc.UnaryUnaryMultiCallable[
22
- flwr.proto.clientappio_pb2.PushClientAppOutputsRequest,
23
- flwr.proto.clientappio_pb2.PushClientAppOutputsResponse]
24
- """Send updated Message and Context"""
35
+ flwr.proto.appio_pb2.PushAppOutputsRequest,
36
+ flwr.proto.appio_pb2.PushAppOutputsResponse]
37
+ """Push client app outputs"""
38
+
39
+ PushMessage: grpc.UnaryUnaryMultiCallable[
40
+ flwr.proto.appio_pb2.PushAppMessagesRequest,
41
+ flwr.proto.appio_pb2.PushAppMessagesResponse]
42
+ """Push Message"""
43
+
44
+ PullMessage: grpc.UnaryUnaryMultiCallable[
45
+ flwr.proto.appio_pb2.PullAppMessagesRequest,
46
+ flwr.proto.appio_pb2.PullAppMessagesResponse]
47
+ """Pull Message"""
48
+
49
+ PushObject: grpc.UnaryUnaryMultiCallable[
50
+ flwr.proto.message_pb2.PushObjectRequest,
51
+ flwr.proto.message_pb2.PushObjectResponse]
52
+ """Push Object"""
53
+
54
+ PullObject: grpc.UnaryUnaryMultiCallable[
55
+ flwr.proto.message_pb2.PullObjectRequest,
56
+ flwr.proto.message_pb2.PullObjectResponse]
57
+ """Pull Object"""
58
+
59
+ ConfirmMessageReceived: grpc.UnaryUnaryMultiCallable[
60
+ flwr.proto.message_pb2.ConfirmMessageReceivedRequest,
61
+ flwr.proto.message_pb2.ConfirmMessageReceivedResponse]
62
+ """Confirm Message Received"""
25
63
 
26
64
 
27
65
  class ClientAppIoServicer(metaclass=abc.ABCMeta):
28
66
  @abc.abstractmethod
29
- def GetToken(self,
30
- request: flwr.proto.clientappio_pb2.GetTokenRequest,
67
+ def GetRunIdsWithPendingMessages(self,
68
+ request: flwr.proto.clientappio_pb2.GetRunIdsWithPendingMessagesRequest,
69
+ context: grpc.ServicerContext,
70
+ ) -> flwr.proto.clientappio_pb2.GetRunIdsWithPendingMessagesResponse:
71
+ """Get run IDs with pending messages"""
72
+ pass
73
+
74
+ @abc.abstractmethod
75
+ def RequestToken(self,
76
+ request: flwr.proto.clientappio_pb2.RequestTokenRequest,
31
77
  context: grpc.ServicerContext,
32
- ) -> flwr.proto.clientappio_pb2.GetTokenResponse:
33
- """Get token"""
78
+ ) -> flwr.proto.clientappio_pb2.RequestTokenResponse:
79
+ """Request token"""
80
+ pass
81
+
82
+ @abc.abstractmethod
83
+ def GetRun(self,
84
+ request: flwr.proto.run_pb2.GetRunRequest,
85
+ context: grpc.ServicerContext,
86
+ ) -> flwr.proto.run_pb2.GetRunResponse:
87
+ """Get run details"""
34
88
  pass
35
89
 
36
90
  @abc.abstractmethod
37
91
  def PullClientAppInputs(self,
38
- request: flwr.proto.clientappio_pb2.PullClientAppInputsRequest,
92
+ request: flwr.proto.appio_pb2.PullAppInputsRequest,
39
93
  context: grpc.ServicerContext,
40
- ) -> flwr.proto.clientappio_pb2.PullClientAppInputsResponse:
41
- """Get Message, Context, and Run"""
94
+ ) -> flwr.proto.appio_pb2.PullAppInputsResponse:
95
+ """Pull client app inputs"""
42
96
  pass
43
97
 
44
98
  @abc.abstractmethod
45
99
  def PushClientAppOutputs(self,
46
- request: flwr.proto.clientappio_pb2.PushClientAppOutputsRequest,
100
+ request: flwr.proto.appio_pb2.PushAppOutputsRequest,
101
+ context: grpc.ServicerContext,
102
+ ) -> flwr.proto.appio_pb2.PushAppOutputsResponse:
103
+ """Push client app outputs"""
104
+ pass
105
+
106
+ @abc.abstractmethod
107
+ def PushMessage(self,
108
+ request: flwr.proto.appio_pb2.PushAppMessagesRequest,
109
+ context: grpc.ServicerContext,
110
+ ) -> flwr.proto.appio_pb2.PushAppMessagesResponse:
111
+ """Push Message"""
112
+ pass
113
+
114
+ @abc.abstractmethod
115
+ def PullMessage(self,
116
+ request: flwr.proto.appio_pb2.PullAppMessagesRequest,
117
+ context: grpc.ServicerContext,
118
+ ) -> flwr.proto.appio_pb2.PullAppMessagesResponse:
119
+ """Pull Message"""
120
+ pass
121
+
122
+ @abc.abstractmethod
123
+ def PushObject(self,
124
+ request: flwr.proto.message_pb2.PushObjectRequest,
125
+ context: grpc.ServicerContext,
126
+ ) -> flwr.proto.message_pb2.PushObjectResponse:
127
+ """Push Object"""
128
+ pass
129
+
130
+ @abc.abstractmethod
131
+ def PullObject(self,
132
+ request: flwr.proto.message_pb2.PullObjectRequest,
133
+ context: grpc.ServicerContext,
134
+ ) -> flwr.proto.message_pb2.PullObjectResponse:
135
+ """Pull Object"""
136
+ pass
137
+
138
+ @abc.abstractmethod
139
+ def ConfirmMessageReceived(self,
140
+ request: flwr.proto.message_pb2.ConfirmMessageReceivedRequest,
47
141
  context: grpc.ServicerContext,
48
- ) -> flwr.proto.clientappio_pb2.PushClientAppOutputsResponse:
49
- """Send updated Message and Context"""
142
+ ) -> flwr.proto.message_pb2.ConfirmMessageReceivedResponse:
143
+ """Confirm Message Received"""
50
144
  pass
51
145
 
52
146
 
flwr/proto/fleet_pb2.py CHANGED
@@ -12,13 +12,14 @@ from google.protobuf.internal import builder as _builder
12
12
  _sym_db = _symbol_database.Default()
13
13
 
14
14
 
15
+ from flwr.proto import heartbeat_pb2 as flwr_dot_proto_dot_heartbeat__pb2
15
16
  from flwr.proto import node_pb2 as flwr_dot_proto_dot_node__pb2
16
17
  from flwr.proto import run_pb2 as flwr_dot_proto_dot_run__pb2
17
18
  from flwr.proto import fab_pb2 as flwr_dot_proto_dot_fab__pb2
18
19
  from flwr.proto import message_pb2 as flwr_dot_proto_dot_message__pb2
19
20
 
20
21
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x18\x66lwr/proto/message.proto\"*\n\x11\x43reateNodeRequest\x12\x15\n\rping_interval\x18\x01 \x01(\x01\"4\n\x12\x43reateNodeResponse\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"3\n\x11\x44\x65leteNodeRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"\x14\n\x12\x44\x65leteNodeResponse\"D\n\x0bPingRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x15\n\rping_interval\x18\x02 \x01(\x01\"\x1f\n\x0cPingResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\"J\n\x13PullMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x13\n\x0bmessage_ids\x18\x02 \x03(\t\"l\n\x14PullMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\"a\n\x13PushMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\"\xb0\x01\n\x14PushMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12>\n\x07results\x18\x02 \x03(\x0b\x32-.flwr.proto.PushMessagesResponse.ResultsEntry\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\x92\x04\n\x05\x46leet\x12M\n\nCreateNode\x12\x1d.flwr.proto.CreateNodeRequest\x1a\x1e.flwr.proto.CreateNodeResponse\"\x00\x12M\n\nDeleteNode\x12\x1d.flwr.proto.DeleteNodeRequest\x1a\x1e.flwr.proto.DeleteNodeResponse\"\x00\x12;\n\x04Ping\x12\x17.flwr.proto.PingRequest\x1a\x18.flwr.proto.PingResponse\"\x00\x12S\n\x0cPullMessages\x12\x1f.flwr.proto.PullMessagesRequest\x1a .flwr.proto.PullMessagesResponse\"\x00\x12S\n\x0cPushMessages\x12\x1f.flwr.proto.PushMessagesRequest\x1a .flwr.proto.PushMessagesResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\x00\x62\x06proto3')
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x66lwr/proto/fleet.proto\x12\nflwr.proto\x1a\x1a\x66lwr/proto/heartbeat.proto\x1a\x15\x66lwr/proto/node.proto\x1a\x14\x66lwr/proto/run.proto\x1a\x14\x66lwr/proto/fab.proto\x1a\x18\x66lwr/proto/message.proto\"/\n\x11\x43reateNodeRequest\x12\x1a\n\x12heartbeat_interval\x18\x01 \x01(\x01\"4\n\x12\x43reateNodeResponse\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"3\n\x11\x44\x65leteNodeRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\"\x14\n\x12\x44\x65leteNodeResponse\"J\n\x13PullMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12\x13\n\x0bmessage_ids\x18\x02 \x03(\t\"\xa2\x01\n\x14PullMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\x97\x01\n\x13PushMessagesRequest\x12\x1e\n\x04node\x18\x01 \x01(\x0b\x32\x10.flwr.proto.Node\x12*\n\rmessages_list\x18\x02 \x03(\x0b\x32\x13.flwr.proto.Message\x12\x34\n\x14message_object_trees\x18\x03 \x03(\x0b\x32\x16.flwr.proto.ObjectTree\"\xc9\x01\n\x14PushMessagesResponse\x12(\n\treconnect\x18\x01 \x01(\x0b\x32\x15.flwr.proto.Reconnect\x12>\n\x07results\x18\x02 \x03(\x0b\x32-.flwr.proto.PushMessagesResponse.ResultsEntry\x12\x17\n\x0fobjects_to_push\x18\x03 \x03(\t\x1a.\n\x0cResultsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\x1e\n\tReconnect\x12\x11\n\treconnect\x18\x01 \x01(\x04\x32\xca\x06\n\x05\x46leet\x12M\n\nCreateNode\x12\x1d.flwr.proto.CreateNodeRequest\x1a\x1e.flwr.proto.CreateNodeResponse\"\x00\x12M\n\nDeleteNode\x12\x1d.flwr.proto.DeleteNodeRequest\x1a\x1e.flwr.proto.DeleteNodeResponse\"\x00\x12\x62\n\x11SendNodeHeartbeat\x12$.flwr.proto.SendNodeHeartbeatRequest\x1a%.flwr.proto.SendNodeHeartbeatResponse\"\x00\x12S\n\x0cPullMessages\x12\x1f.flwr.proto.PullMessagesRequest\x1a .flwr.proto.PullMessagesResponse\"\x00\x12S\n\x0cPushMessages\x12\x1f.flwr.proto.PushMessagesRequest\x1a .flwr.proto.PushMessagesResponse\"\x00\x12\x41\n\x06GetRun\x12\x19.flwr.proto.GetRunRequest\x1a\x1a.flwr.proto.GetRunResponse\"\x00\x12\x41\n\x06GetFab\x12\x19.flwr.proto.GetFabRequest\x1a\x1a.flwr.proto.GetFabResponse\"\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
23
 
23
24
  _globals = globals()
24
25
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -27,30 +28,26 @@ if _descriptor._USE_C_DESCRIPTORS == False:
27
28
  DESCRIPTOR._options = None
28
29
  _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._options = None
29
30
  _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_options = b'8\001'
30
- _globals['_CREATENODEREQUEST']._serialized_start=131
31
- _globals['_CREATENODEREQUEST']._serialized_end=173
32
- _globals['_CREATENODERESPONSE']._serialized_start=175
33
- _globals['_CREATENODERESPONSE']._serialized_end=227
34
- _globals['_DELETENODEREQUEST']._serialized_start=229
35
- _globals['_DELETENODEREQUEST']._serialized_end=280
36
- _globals['_DELETENODERESPONSE']._serialized_start=282
37
- _globals['_DELETENODERESPONSE']._serialized_end=302
38
- _globals['_PINGREQUEST']._serialized_start=304
39
- _globals['_PINGREQUEST']._serialized_end=372
40
- _globals['_PINGRESPONSE']._serialized_start=374
41
- _globals['_PINGRESPONSE']._serialized_end=405
42
- _globals['_PULLMESSAGESREQUEST']._serialized_start=407
43
- _globals['_PULLMESSAGESREQUEST']._serialized_end=481
44
- _globals['_PULLMESSAGESRESPONSE']._serialized_start=483
45
- _globals['_PULLMESSAGESRESPONSE']._serialized_end=591
46
- _globals['_PUSHMESSAGESREQUEST']._serialized_start=593
47
- _globals['_PUSHMESSAGESREQUEST']._serialized_end=690
48
- _globals['_PUSHMESSAGESRESPONSE']._serialized_start=693
49
- _globals['_PUSHMESSAGESRESPONSE']._serialized_end=869
50
- _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_start=823
51
- _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_end=869
52
- _globals['_RECONNECT']._serialized_start=871
53
- _globals['_RECONNECT']._serialized_end=901
54
- _globals['_FLEET']._serialized_start=904
55
- _globals['_FLEET']._serialized_end=1434
31
+ _globals['_CREATENODEREQUEST']._serialized_start=159
32
+ _globals['_CREATENODEREQUEST']._serialized_end=206
33
+ _globals['_CREATENODERESPONSE']._serialized_start=208
34
+ _globals['_CREATENODERESPONSE']._serialized_end=260
35
+ _globals['_DELETENODEREQUEST']._serialized_start=262
36
+ _globals['_DELETENODEREQUEST']._serialized_end=313
37
+ _globals['_DELETENODERESPONSE']._serialized_start=315
38
+ _globals['_DELETENODERESPONSE']._serialized_end=335
39
+ _globals['_PULLMESSAGESREQUEST']._serialized_start=337
40
+ _globals['_PULLMESSAGESREQUEST']._serialized_end=411
41
+ _globals['_PULLMESSAGESRESPONSE']._serialized_start=414
42
+ _globals['_PULLMESSAGESRESPONSE']._serialized_end=576
43
+ _globals['_PUSHMESSAGESREQUEST']._serialized_start=579
44
+ _globals['_PUSHMESSAGESREQUEST']._serialized_end=730
45
+ _globals['_PUSHMESSAGESRESPONSE']._serialized_start=733
46
+ _globals['_PUSHMESSAGESRESPONSE']._serialized_end=934
47
+ _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_start=888
48
+ _globals['_PUSHMESSAGESRESPONSE_RESULTSENTRY']._serialized_end=934
49
+ _globals['_RECONNECT']._serialized_start=936
50
+ _globals['_RECONNECT']._serialized_end=966
51
+ _globals['_FLEET']._serialized_start=969
52
+ _globals['_FLEET']._serialized_end=1811
56
53
  # @@protoc_insertion_point(module_scope)