From 48d771526f150c43d7afe0fdfe7b6ffd7063adcb Mon Sep 17 00:00:00 2001 From: "Daniel J. Beutel" Date: Fri, 13 May 2022 12:51:32 +0200 Subject: [PATCH 1/3] Align protobuf messages --- src/proto/flwr/proto/transport.proto | 20 +- src/py/flwr/proto/transport_pb2.py | 404 ++++++++++++------------ src/py/flwr/proto/transport_pb2.pyi | 44 +-- src/py/flwr/proto/transport_pb2_grpc.py | 6 +- 4 files changed, 237 insertions(+), 237 deletions(-) diff --git a/src/proto/flwr/proto/transport.proto b/src/proto/flwr/proto/transport.proto index 07889e1130fd..6dbf1e14d102 100644 --- a/src/proto/flwr/proto/transport.proto +++ b/src/proto/flwr/proto/transport.proto @@ -15,7 +15,7 @@ syntax = "proto3"; -package flower.transport; +package flwr.proto; service FlowerService { rpc Join(stream ClientMessage) returns (stream ServerMessage) {} @@ -43,7 +43,7 @@ enum Reason { message ServerMessage { message Reconnect { int64 seconds = 1; } - message GetParameters {} + message GetParametersIns {} message FitIns { Parameters parameters = 1; map config = 2; @@ -52,19 +52,19 @@ message ServerMessage { Parameters parameters = 1; map config = 2; } - message PropertiesIns { map config = 1; } + message GetPropertiesIns { map config = 1; } oneof msg { Reconnect reconnect = 1; - GetParameters get_parameters = 2; + GetParametersIns get_parameters_ins = 2; FitIns fit_ins = 3; EvaluateIns evaluate_ins = 4; - PropertiesIns properties_ins = 5; + GetPropertiesIns get_properties_ins = 5; } } message ClientMessage { message Disconnect { Reason reason = 1; } - message ParametersRes { Parameters parameters = 1; } + message GetParametersRes { Parameters parameters = 1; } message FitRes { Parameters parameters = 1; int64 num_examples = 2; @@ -75,21 +75,21 @@ message ClientMessage { float loss = 2; map metrics = 4; } - message PropertiesRes { + message GetPropertiesRes { Status status = 1; map properties = 2; } oneof msg { Disconnect disconnect = 1; - ParametersRes parameters_res = 2; + GetParametersRes get_parameters_res = 2; FitRes fit_res = 3; EvaluateRes evaluate_res = 4; - PropertiesRes properties_res = 5; + GetPropertiesRes get_properties_res = 5; } } message Scalar { - // The following oneof contains all types that ProtoBuf considers to be + // The following `oneof` contains all types that ProtoBuf considers to be // "Scalar Value Types". Commented-out types are listed for reference and // might be enabled in future releases. Source: // https://developers.google.com/protocol-buffers/docs/proto3#scalar diff --git a/src/py/flwr/proto/transport_pb2.py b/src/py/flwr/proto/transport_pb2.py index 0ccbc5d66609..071265559aec 100644 --- a/src/py/flwr/proto/transport_pb2.py +++ b/src/py/flwr/proto/transport_pb2.py @@ -16,16 +16,16 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='flwr/proto/transport.proto', - package='flower.transport', + package='flwr.proto', syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x1a\x66lwr/proto/transport.proto\x12\x10\x66lower.transport\"?\n\x06Status\x12$\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x16.flower.transport.Code\x12\x0f\n\x07message\x18\x02 \x01(\t\"2\n\nParameters\x12\x0f\n\x07tensors\x18\x01 \x03(\x0c\x12\x13\n\x0btensor_type\x18\x02 \x01(\t\"\xdb\x07\n\rServerMessage\x12>\n\treconnect\x18\x01 \x01(\x0b\x32).flower.transport.ServerMessage.ReconnectH\x00\x12G\n\x0eget_parameters\x18\x02 \x01(\x0b\x32-.flower.transport.ServerMessage.GetParametersH\x00\x12\x39\n\x07\x66it_ins\x18\x03 \x01(\x0b\x32&.flower.transport.ServerMessage.FitInsH\x00\x12\x43\n\x0c\x65valuate_ins\x18\x04 \x01(\x0b\x32+.flower.transport.ServerMessage.EvaluateInsH\x00\x12G\n\x0eproperties_ins\x18\x05 \x01(\x0b\x32-.flower.transport.ServerMessage.PropertiesInsH\x00\x1a\x1c\n\tReconnect\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\x1a\x0f\n\rGetParameters\x1a\xc7\x01\n\x06\x46itIns\x12\x30\n\nparameters\x18\x01 \x01(\x0b\x32\x1c.flower.transport.Parameters\x12\x42\n\x06\x63onfig\x18\x02 \x03(\x0b\x32\x32.flower.transport.ServerMessage.FitIns.ConfigEntry\x1aG\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.flower.transport.Scalar:\x02\x38\x01\x1a\xd1\x01\n\x0b\x45valuateIns\x12\x30\n\nparameters\x18\x01 \x01(\x0b\x32\x1c.flower.transport.Parameters\x12G\n\x06\x63onfig\x18\x02 \x03(\x0b\x32\x37.flower.transport.ServerMessage.EvaluateIns.ConfigEntry\x1aG\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.flower.transport.Scalar:\x02\x38\x01\x1a\xa3\x01\n\rPropertiesIns\x12I\n\x06\x63onfig\x18\x01 \x03(\x0b\x32\x39.flower.transport.ServerMessage.PropertiesIns.ConfigEntry\x1aG\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.flower.transport.Scalar:\x02\x38\x01\x42\x05\n\x03msg\"\xed\x08\n\rClientMessage\x12@\n\ndisconnect\x18\x01 \x01(\x0b\x32*.flower.transport.ClientMessage.DisconnectH\x00\x12G\n\x0eparameters_res\x18\x02 \x01(\x0b\x32-.flower.transport.ClientMessage.ParametersResH\x00\x12\x39\n\x07\x66it_res\x18\x03 \x01(\x0b\x32&.flower.transport.ClientMessage.FitResH\x00\x12\x43\n\x0c\x65valuate_res\x18\x04 \x01(\x0b\x32+.flower.transport.ClientMessage.EvaluateResH\x00\x12G\n\x0eproperties_res\x18\x05 \x01(\x0b\x32-.flower.transport.ClientMessage.PropertiesResH\x00\x1a\x36\n\nDisconnect\x12(\n\x06reason\x18\x01 \x01(\x0e\x32\x18.flower.transport.Reason\x1a\x41\n\rParametersRes\x12\x30\n\nparameters\x18\x01 \x01(\x0b\x32\x1c.flower.transport.Parameters\x1a\xe0\x01\n\x06\x46itRes\x12\x30\n\nparameters\x18\x01 \x01(\x0b\x32\x1c.flower.transport.Parameters\x12\x14\n\x0cnum_examples\x18\x02 \x01(\x03\x12\x44\n\x07metrics\x18\x05 \x03(\x0b\x32\x33.flower.transport.ClientMessage.FitRes.MetricsEntry\x1aH\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.flower.transport.Scalar:\x02\x38\x01\x1a\xc6\x01\n\x0b\x45valuateRes\x12\x14\n\x0cnum_examples\x18\x01 \x01(\x03\x12\x0c\n\x04loss\x18\x02 \x01(\x02\x12I\n\x07metrics\x18\x04 \x03(\x0b\x32\x38.flower.transport.ClientMessage.EvaluateRes.MetricsEntry\x1aH\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.flower.transport.Scalar:\x02\x38\x01\x1a\xd9\x01\n\rPropertiesRes\x12(\n\x06status\x18\x01 \x01(\x0b\x32\x18.flower.transport.Status\x12Q\n\nproperties\x18\x02 \x03(\x0b\x32=.flower.transport.ClientMessage.PropertiesRes.PropertiesEntry\x1aK\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.flower.transport.Scalar:\x02\x38\x01\x42\x05\n\x03msg\"i\n\x06Scalar\x12\x10\n\x06\x64ouble\x18\x01 \x01(\x01H\x00\x12\x10\n\x06sint64\x18\x08 \x01(\x12H\x00\x12\x0e\n\x04\x62ool\x18\r \x01(\x08H\x00\x12\x10\n\x06string\x18\x0e \x01(\tH\x00\x12\x0f\n\x05\x62ytes\x18\x0f \x01(\x0cH\x00\x42\x08\n\x06scalar*2\n\x04\x43ode\x12\x06\n\x02OK\x10\x00\x12\"\n\x1eGET_PARAMETERS_NOT_IMPLEMENTED\x10\x01*[\n\x06Reason\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tRECONNECT\x10\x01\x12\x16\n\x12POWER_DISCONNECTED\x10\x02\x12\x14\n\x10WIFI_UNAVAILABLE\x10\x03\x12\x07\n\x03\x41\x43K\x10\x04\x32_\n\rFlowerService\x12N\n\x04Join\x12\x1f.flower.transport.ClientMessage\x1a\x1f.flower.transport.ServerMessage\"\x00(\x01\x30\x01\x62\x06proto3' + serialized_pb=b'\n\x1a\x66lwr/proto/transport.proto\x12\nflwr.proto\"9\n\x06Status\x12\x1e\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x10.flwr.proto.Code\x12\x0f\n\x07message\x18\x02 \x01(\t\"2\n\nParameters\x12\x0f\n\x07tensors\x18\x01 \x03(\x0c\x12\x13\n\x0btensor_type\x18\x02 \x01(\t\"\xa4\x07\n\rServerMessage\x12\x38\n\treconnect\x18\x01 \x01(\x0b\x32#.flwr.proto.ServerMessage.ReconnectH\x00\x12H\n\x12get_parameters_ins\x18\x02 \x01(\x0b\x32*.flwr.proto.ServerMessage.GetParametersInsH\x00\x12\x33\n\x07\x66it_ins\x18\x03 \x01(\x0b\x32 .flwr.proto.ServerMessage.FitInsH\x00\x12=\n\x0c\x65valuate_ins\x18\x04 \x01(\x0b\x32%.flwr.proto.ServerMessage.EvaluateInsH\x00\x12H\n\x12get_properties_ins\x18\x05 \x01(\x0b\x32*.flwr.proto.ServerMessage.GetPropertiesInsH\x00\x1a\x1c\n\tReconnect\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\x1a\x12\n\x10GetParametersIns\x1a\xb5\x01\n\x06\x46itIns\x12*\n\nparameters\x18\x01 \x01(\x0b\x32\x16.flwr.proto.Parameters\x12<\n\x06\x63onfig\x18\x02 \x03(\x0b\x32,.flwr.proto.ServerMessage.FitIns.ConfigEntry\x1a\x41\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\x1a\xbf\x01\n\x0b\x45valuateIns\x12*\n\nparameters\x18\x01 \x01(\x0b\x32\x16.flwr.proto.Parameters\x12\x41\n\x06\x63onfig\x18\x02 \x03(\x0b\x32\x31.flwr.proto.ServerMessage.EvaluateIns.ConfigEntry\x1a\x41\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\x1a\x9d\x01\n\x10GetPropertiesIns\x12\x46\n\x06\x63onfig\x18\x01 \x03(\x0b\x32\x36.flwr.proto.ServerMessage.GetPropertiesIns.ConfigEntry\x1a\x41\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\x42\x05\n\x03msg\"\xaa\x08\n\rClientMessage\x12:\n\ndisconnect\x18\x01 \x01(\x0b\x32$.flwr.proto.ClientMessage.DisconnectH\x00\x12H\n\x12get_parameters_res\x18\x02 \x01(\x0b\x32*.flwr.proto.ClientMessage.GetParametersResH\x00\x12\x33\n\x07\x66it_res\x18\x03 \x01(\x0b\x32 .flwr.proto.ClientMessage.FitResH\x00\x12=\n\x0c\x65valuate_res\x18\x04 \x01(\x0b\x32%.flwr.proto.ClientMessage.EvaluateResH\x00\x12H\n\x12get_properties_res\x18\x05 \x01(\x0b\x32*.flwr.proto.ClientMessage.GetPropertiesResH\x00\x1a\x30\n\nDisconnect\x12\"\n\x06reason\x18\x01 \x01(\x0e\x32\x12.flwr.proto.Reason\x1a>\n\x10GetParametersRes\x12*\n\nparameters\x18\x01 \x01(\x0b\x32\x16.flwr.proto.Parameters\x1a\xce\x01\n\x06\x46itRes\x12*\n\nparameters\x18\x01 \x01(\x0b\x32\x16.flwr.proto.Parameters\x12\x14\n\x0cnum_examples\x18\x02 \x01(\x03\x12>\n\x07metrics\x18\x05 \x03(\x0b\x32-.flwr.proto.ClientMessage.FitRes.MetricsEntry\x1a\x42\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\x1a\xba\x01\n\x0b\x45valuateRes\x12\x14\n\x0cnum_examples\x18\x01 \x01(\x03\x12\x0c\n\x04loss\x18\x02 \x01(\x02\x12\x43\n\x07metrics\x18\x04 \x03(\x0b\x32\x32.flwr.proto.ClientMessage.EvaluateRes.MetricsEntry\x1a\x42\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\x1a\xcd\x01\n\x10GetPropertiesRes\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.flwr.proto.Status\x12N\n\nproperties\x18\x02 \x03(\x0b\x32:.flwr.proto.ClientMessage.GetPropertiesRes.PropertiesEntry\x1a\x45\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.flwr.proto.Scalar:\x02\x38\x01\x42\x05\n\x03msg\"i\n\x06Scalar\x12\x10\n\x06\x64ouble\x18\x01 \x01(\x01H\x00\x12\x10\n\x06sint64\x18\x08 \x01(\x12H\x00\x12\x0e\n\x04\x62ool\x18\r \x01(\x08H\x00\x12\x10\n\x06string\x18\x0e \x01(\tH\x00\x12\x0f\n\x05\x62ytes\x18\x0f \x01(\x0cH\x00\x42\x08\n\x06scalar*2\n\x04\x43ode\x12\x06\n\x02OK\x10\x00\x12\"\n\x1eGET_PARAMETERS_NOT_IMPLEMENTED\x10\x01*[\n\x06Reason\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tRECONNECT\x10\x01\x12\x16\n\x12POWER_DISCONNECTED\x10\x02\x12\x14\n\x10WIFI_UNAVAILABLE\x10\x03\x12\x07\n\x03\x41\x43K\x10\x04\x32S\n\rFlowerService\x12\x42\n\x04Join\x12\x19.flwr.proto.ClientMessage\x1a\x19.flwr.proto.ServerMessage\"\x00(\x01\x30\x01\x62\x06proto3' ) _CODE = _descriptor.EnumDescriptor( name='Code', - full_name='flower.transport.Code', + full_name='flwr.proto.Code', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, @@ -43,15 +43,15 @@ ], containing_type=None, serialized_options=None, - serialized_start=2398, - serialized_end=2448, + serialized_start=2264, + serialized_end=2314, ) _sym_db.RegisterEnumDescriptor(_CODE) Code = enum_type_wrapper.EnumTypeWrapper(_CODE) _REASON = _descriptor.EnumDescriptor( name='Reason', - full_name='flower.transport.Reason', + full_name='flwr.proto.Reason', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, @@ -84,8 +84,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2450, - serialized_end=2541, + serialized_start=2316, + serialized_end=2407, ) _sym_db.RegisterEnumDescriptor(_REASON) @@ -102,21 +102,21 @@ _STATUS = _descriptor.Descriptor( name='Status', - full_name='flower.transport.Status', + full_name='flwr.proto.Status', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='code', full_name='flower.transport.Status.code', index=0, + name='code', full_name='flwr.proto.Status.code', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='message', full_name='flower.transport.Status.message', index=1, + name='message', full_name='flwr.proto.Status.message', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, @@ -134,28 +134,28 @@ extension_ranges=[], oneofs=[ ], - serialized_start=48, - serialized_end=111, + serialized_start=42, + serialized_end=99, ) _PARAMETERS = _descriptor.Descriptor( name='Parameters', - full_name='flower.transport.Parameters', + full_name='flwr.proto.Parameters', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='tensors', full_name='flower.transport.Parameters.tensors', index=0, + name='tensors', full_name='flwr.proto.Parameters.tensors', index=0, number=1, type=12, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='tensor_type', full_name='flower.transport.Parameters.tensor_type', index=1, + name='tensor_type', full_name='flwr.proto.Parameters.tensor_type', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, @@ -173,21 +173,21 @@ extension_ranges=[], oneofs=[ ], - serialized_start=113, - serialized_end=163, + serialized_start=101, + serialized_end=151, ) _SERVERMESSAGE_RECONNECT = _descriptor.Descriptor( name='Reconnect', - full_name='flower.transport.ServerMessage.Reconnect', + full_name='flwr.proto.ServerMessage.Reconnect', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='seconds', full_name='flower.transport.ServerMessage.Reconnect.seconds', index=0, + name='seconds', full_name='flwr.proto.ServerMessage.Reconnect.seconds', index=0, number=1, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -205,13 +205,13 @@ extension_ranges=[], oneofs=[ ], - serialized_start=521, - serialized_end=549, + serialized_start=493, + serialized_end=521, ) -_SERVERMESSAGE_GETPARAMETERS = _descriptor.Descriptor( - name='GetParameters', - full_name='flower.transport.ServerMessage.GetParameters', +_SERVERMESSAGE_GETPARAMETERSINS = _descriptor.Descriptor( + name='GetParametersIns', + full_name='flwr.proto.ServerMessage.GetParametersIns', filename=None, file=DESCRIPTOR, containing_type=None, @@ -229,27 +229,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=551, - serialized_end=566, + serialized_start=523, + serialized_end=541, ) _SERVERMESSAGE_FITINS_CONFIGENTRY = _descriptor.Descriptor( name='ConfigEntry', - full_name='flower.transport.ServerMessage.FitIns.ConfigEntry', + full_name='flwr.proto.ServerMessage.FitIns.ConfigEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='flower.transport.ServerMessage.FitIns.ConfigEntry.key', index=0, + name='key', full_name='flwr.proto.ServerMessage.FitIns.ConfigEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='flower.transport.ServerMessage.FitIns.ConfigEntry.value', index=1, + name='value', full_name='flwr.proto.ServerMessage.FitIns.ConfigEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -267,27 +267,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=697, - serialized_end=768, + serialized_start=660, + serialized_end=725, ) _SERVERMESSAGE_FITINS = _descriptor.Descriptor( name='FitIns', - full_name='flower.transport.ServerMessage.FitIns', + full_name='flwr.proto.ServerMessage.FitIns', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='parameters', full_name='flower.transport.ServerMessage.FitIns.parameters', index=0, + name='parameters', full_name='flwr.proto.ServerMessage.FitIns.parameters', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='config', full_name='flower.transport.ServerMessage.FitIns.config', index=1, + name='config', full_name='flwr.proto.ServerMessage.FitIns.config', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -305,27 +305,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=569, - serialized_end=768, + serialized_start=544, + serialized_end=725, ) _SERVERMESSAGE_EVALUATEINS_CONFIGENTRY = _descriptor.Descriptor( name='ConfigEntry', - full_name='flower.transport.ServerMessage.EvaluateIns.ConfigEntry', + full_name='flwr.proto.ServerMessage.EvaluateIns.ConfigEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='flower.transport.ServerMessage.EvaluateIns.ConfigEntry.key', index=0, + name='key', full_name='flwr.proto.ServerMessage.EvaluateIns.ConfigEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='flower.transport.ServerMessage.EvaluateIns.ConfigEntry.value', index=1, + name='value', full_name='flwr.proto.ServerMessage.EvaluateIns.ConfigEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -343,27 +343,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=697, - serialized_end=768, + serialized_start=660, + serialized_end=725, ) _SERVERMESSAGE_EVALUATEINS = _descriptor.Descriptor( name='EvaluateIns', - full_name='flower.transport.ServerMessage.EvaluateIns', + full_name='flwr.proto.ServerMessage.EvaluateIns', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='parameters', full_name='flower.transport.ServerMessage.EvaluateIns.parameters', index=0, + name='parameters', full_name='flwr.proto.ServerMessage.EvaluateIns.parameters', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='config', full_name='flower.transport.ServerMessage.EvaluateIns.config', index=1, + name='config', full_name='flwr.proto.ServerMessage.EvaluateIns.config', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -381,27 +381,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=771, - serialized_end=980, + serialized_start=728, + serialized_end=919, ) -_SERVERMESSAGE_PROPERTIESINS_CONFIGENTRY = _descriptor.Descriptor( +_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY = _descriptor.Descriptor( name='ConfigEntry', - full_name='flower.transport.ServerMessage.PropertiesIns.ConfigEntry', + full_name='flwr.proto.ServerMessage.GetPropertiesIns.ConfigEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='flower.transport.ServerMessage.PropertiesIns.ConfigEntry.key', index=0, + name='key', full_name='flwr.proto.ServerMessage.GetPropertiesIns.ConfigEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='flower.transport.ServerMessage.PropertiesIns.ConfigEntry.value', index=1, + name='value', full_name='flwr.proto.ServerMessage.GetPropertiesIns.ConfigEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -419,20 +419,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=697, - serialized_end=768, + serialized_start=660, + serialized_end=725, ) -_SERVERMESSAGE_PROPERTIESINS = _descriptor.Descriptor( - name='PropertiesIns', - full_name='flower.transport.ServerMessage.PropertiesIns', +_SERVERMESSAGE_GETPROPERTIESINS = _descriptor.Descriptor( + name='GetPropertiesIns', + full_name='flwr.proto.ServerMessage.GetPropertiesIns', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='config', full_name='flower.transport.ServerMessage.PropertiesIns.config', index=0, + name='config', full_name='flwr.proto.ServerMessage.GetPropertiesIns.config', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -441,7 +441,7 @@ ], extensions=[ ], - nested_types=[_SERVERMESSAGE_PROPERTIESINS_CONFIGENTRY, ], + nested_types=[_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY, ], enum_types=[ ], serialized_options=None, @@ -450,48 +450,48 @@ extension_ranges=[], oneofs=[ ], - serialized_start=983, - serialized_end=1146, + serialized_start=922, + serialized_end=1079, ) _SERVERMESSAGE = _descriptor.Descriptor( name='ServerMessage', - full_name='flower.transport.ServerMessage', + full_name='flwr.proto.ServerMessage', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='reconnect', full_name='flower.transport.ServerMessage.reconnect', index=0, + name='reconnect', full_name='flwr.proto.ServerMessage.reconnect', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='get_parameters', full_name='flower.transport.ServerMessage.get_parameters', index=1, + name='get_parameters_ins', full_name='flwr.proto.ServerMessage.get_parameters_ins', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='fit_ins', full_name='flower.transport.ServerMessage.fit_ins', index=2, + name='fit_ins', full_name='flwr.proto.ServerMessage.fit_ins', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='evaluate_ins', full_name='flower.transport.ServerMessage.evaluate_ins', index=3, + name='evaluate_ins', full_name='flwr.proto.ServerMessage.evaluate_ins', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='properties_ins', full_name='flower.transport.ServerMessage.properties_ins', index=4, + name='get_properties_ins', full_name='flwr.proto.ServerMessage.get_properties_ins', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -500,7 +500,7 @@ ], extensions=[ ], - nested_types=[_SERVERMESSAGE_RECONNECT, _SERVERMESSAGE_GETPARAMETERS, _SERVERMESSAGE_FITINS, _SERVERMESSAGE_EVALUATEINS, _SERVERMESSAGE_PROPERTIESINS, ], + nested_types=[_SERVERMESSAGE_RECONNECT, _SERVERMESSAGE_GETPARAMETERSINS, _SERVERMESSAGE_FITINS, _SERVERMESSAGE_EVALUATEINS, _SERVERMESSAGE_GETPROPERTIESINS, ], enum_types=[ ], serialized_options=None, @@ -509,26 +509,26 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='msg', full_name='flower.transport.ServerMessage.msg', + name='msg', full_name='flwr.proto.ServerMessage.msg', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=166, - serialized_end=1153, + serialized_start=154, + serialized_end=1086, ) _CLIENTMESSAGE_DISCONNECT = _descriptor.Descriptor( name='Disconnect', - full_name='flower.transport.ClientMessage.Disconnect', + full_name='flwr.proto.ClientMessage.Disconnect', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='reason', full_name='flower.transport.ClientMessage.Disconnect.reason', index=0, + name='reason', full_name='flwr.proto.ClientMessage.Disconnect.reason', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -546,20 +546,20 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1513, - serialized_end=1567, + serialized_start=1430, + serialized_end=1478, ) -_CLIENTMESSAGE_PARAMETERSRES = _descriptor.Descriptor( - name='ParametersRes', - full_name='flower.transport.ClientMessage.ParametersRes', +_CLIENTMESSAGE_GETPARAMETERSRES = _descriptor.Descriptor( + name='GetParametersRes', + full_name='flwr.proto.ClientMessage.GetParametersRes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='parameters', full_name='flower.transport.ClientMessage.ParametersRes.parameters', index=0, + name='parameters', full_name='flwr.proto.ClientMessage.GetParametersRes.parameters', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -577,27 +577,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1569, - serialized_end=1634, + serialized_start=1480, + serialized_end=1542, ) _CLIENTMESSAGE_FITRES_METRICSENTRY = _descriptor.Descriptor( name='MetricsEntry', - full_name='flower.transport.ClientMessage.FitRes.MetricsEntry', + full_name='flwr.proto.ClientMessage.FitRes.MetricsEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='flower.transport.ClientMessage.FitRes.MetricsEntry.key', index=0, + name='key', full_name='flwr.proto.ClientMessage.FitRes.MetricsEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='flower.transport.ClientMessage.FitRes.MetricsEntry.value', index=1, + name='value', full_name='flwr.proto.ClientMessage.FitRes.MetricsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -615,34 +615,34 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1789, - serialized_end=1861, + serialized_start=1685, + serialized_end=1751, ) _CLIENTMESSAGE_FITRES = _descriptor.Descriptor( name='FitRes', - full_name='flower.transport.ClientMessage.FitRes', + full_name='flwr.proto.ClientMessage.FitRes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='parameters', full_name='flower.transport.ClientMessage.FitRes.parameters', index=0, + name='parameters', full_name='flwr.proto.ClientMessage.FitRes.parameters', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='num_examples', full_name='flower.transport.ClientMessage.FitRes.num_examples', index=1, + name='num_examples', full_name='flwr.proto.ClientMessage.FitRes.num_examples', index=1, number=2, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metrics', full_name='flower.transport.ClientMessage.FitRes.metrics', index=2, + name='metrics', full_name='flwr.proto.ClientMessage.FitRes.metrics', index=2, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -660,27 +660,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1637, - serialized_end=1861, + serialized_start=1545, + serialized_end=1751, ) _CLIENTMESSAGE_EVALUATERES_METRICSENTRY = _descriptor.Descriptor( name='MetricsEntry', - full_name='flower.transport.ClientMessage.EvaluateRes.MetricsEntry', + full_name='flwr.proto.ClientMessage.EvaluateRes.MetricsEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='flower.transport.ClientMessage.EvaluateRes.MetricsEntry.key', index=0, + name='key', full_name='flwr.proto.ClientMessage.EvaluateRes.MetricsEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='flower.transport.ClientMessage.EvaluateRes.MetricsEntry.value', index=1, + name='value', full_name='flwr.proto.ClientMessage.EvaluateRes.MetricsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -698,34 +698,34 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1789, - serialized_end=1861, + serialized_start=1685, + serialized_end=1751, ) _CLIENTMESSAGE_EVALUATERES = _descriptor.Descriptor( name='EvaluateRes', - full_name='flower.transport.ClientMessage.EvaluateRes', + full_name='flwr.proto.ClientMessage.EvaluateRes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='num_examples', full_name='flower.transport.ClientMessage.EvaluateRes.num_examples', index=0, + name='num_examples', full_name='flwr.proto.ClientMessage.EvaluateRes.num_examples', index=0, number=1, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='loss', full_name='flower.transport.ClientMessage.EvaluateRes.loss', index=1, + name='loss', full_name='flwr.proto.ClientMessage.EvaluateRes.loss', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='metrics', full_name='flower.transport.ClientMessage.EvaluateRes.metrics', index=2, + name='metrics', full_name='flwr.proto.ClientMessage.EvaluateRes.metrics', index=2, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -743,27 +743,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1864, - serialized_end=2062, + serialized_start=1754, + serialized_end=1940, ) -_CLIENTMESSAGE_PROPERTIESRES_PROPERTIESENTRY = _descriptor.Descriptor( +_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY = _descriptor.Descriptor( name='PropertiesEntry', - full_name='flower.transport.ClientMessage.PropertiesRes.PropertiesEntry', + full_name='flwr.proto.ClientMessage.GetPropertiesRes.PropertiesEntry', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', full_name='flower.transport.ClientMessage.PropertiesRes.PropertiesEntry.key', index=0, + name='key', full_name='flwr.proto.ClientMessage.GetPropertiesRes.PropertiesEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='flower.transport.ClientMessage.PropertiesRes.PropertiesEntry.value', index=1, + name='value', full_name='flwr.proto.ClientMessage.GetPropertiesRes.PropertiesEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -781,27 +781,27 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2207, - serialized_end=2282, + serialized_start=2079, + serialized_end=2148, ) -_CLIENTMESSAGE_PROPERTIESRES = _descriptor.Descriptor( - name='PropertiesRes', - full_name='flower.transport.ClientMessage.PropertiesRes', +_CLIENTMESSAGE_GETPROPERTIESRES = _descriptor.Descriptor( + name='GetPropertiesRes', + full_name='flwr.proto.ClientMessage.GetPropertiesRes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='status', full_name='flower.transport.ClientMessage.PropertiesRes.status', index=0, + name='status', full_name='flwr.proto.ClientMessage.GetPropertiesRes.status', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='properties', full_name='flower.transport.ClientMessage.PropertiesRes.properties', index=1, + name='properties', full_name='flwr.proto.ClientMessage.GetPropertiesRes.properties', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -810,7 +810,7 @@ ], extensions=[ ], - nested_types=[_CLIENTMESSAGE_PROPERTIESRES_PROPERTIESENTRY, ], + nested_types=[_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY, ], enum_types=[ ], serialized_options=None, @@ -819,48 +819,48 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2065, - serialized_end=2282, + serialized_start=1943, + serialized_end=2148, ) _CLIENTMESSAGE = _descriptor.Descriptor( name='ClientMessage', - full_name='flower.transport.ClientMessage', + full_name='flwr.proto.ClientMessage', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='disconnect', full_name='flower.transport.ClientMessage.disconnect', index=0, + name='disconnect', full_name='flwr.proto.ClientMessage.disconnect', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='parameters_res', full_name='flower.transport.ClientMessage.parameters_res', index=1, + name='get_parameters_res', full_name='flwr.proto.ClientMessage.get_parameters_res', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='fit_res', full_name='flower.transport.ClientMessage.fit_res', index=2, + name='fit_res', full_name='flwr.proto.ClientMessage.fit_res', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='evaluate_res', full_name='flower.transport.ClientMessage.evaluate_res', index=3, + name='evaluate_res', full_name='flwr.proto.ClientMessage.evaluate_res', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='properties_res', full_name='flower.transport.ClientMessage.properties_res', index=4, + name='get_properties_res', full_name='flwr.proto.ClientMessage.get_properties_res', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -869,7 +869,7 @@ ], extensions=[ ], - nested_types=[_CLIENTMESSAGE_DISCONNECT, _CLIENTMESSAGE_PARAMETERSRES, _CLIENTMESSAGE_FITRES, _CLIENTMESSAGE_EVALUATERES, _CLIENTMESSAGE_PROPERTIESRES, ], + nested_types=[_CLIENTMESSAGE_DISCONNECT, _CLIENTMESSAGE_GETPARAMETERSRES, _CLIENTMESSAGE_FITRES, _CLIENTMESSAGE_EVALUATERES, _CLIENTMESSAGE_GETPROPERTIESRES, ], enum_types=[ ], serialized_options=None, @@ -878,54 +878,54 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='msg', full_name='flower.transport.ClientMessage.msg', + name='msg', full_name='flwr.proto.ClientMessage.msg', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=1156, - serialized_end=2289, + serialized_start=1089, + serialized_end=2155, ) _SCALAR = _descriptor.Descriptor( name='Scalar', - full_name='flower.transport.Scalar', + full_name='flwr.proto.Scalar', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='double', full_name='flower.transport.Scalar.double', index=0, + name='double', full_name='flwr.proto.Scalar.double', index=0, number=1, type=1, cpp_type=5, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='sint64', full_name='flower.transport.Scalar.sint64', index=1, + name='sint64', full_name='flwr.proto.Scalar.sint64', index=1, number=8, type=18, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='bool', full_name='flower.transport.Scalar.bool', index=2, + name='bool', full_name='flwr.proto.Scalar.bool', index=2, number=13, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='string', full_name='flower.transport.Scalar.string', index=3, + name='string', full_name='flwr.proto.Scalar.string', index=3, number=14, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='bytes', full_name='flower.transport.Scalar.bytes', index=4, + name='bytes', full_name='flwr.proto.Scalar.bytes', index=4, number=15, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, @@ -943,18 +943,18 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='scalar', full_name='flower.transport.Scalar.scalar', + name='scalar', full_name='flwr.proto.Scalar.scalar', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=2291, - serialized_end=2396, + serialized_start=2157, + serialized_end=2262, ) _STATUS.fields_by_name['code'].enum_type = _CODE _SERVERMESSAGE_RECONNECT.containing_type = _SERVERMESSAGE -_SERVERMESSAGE_GETPARAMETERS.containing_type = _SERVERMESSAGE +_SERVERMESSAGE_GETPARAMETERSINS.containing_type = _SERVERMESSAGE _SERVERMESSAGE_FITINS_CONFIGENTRY.fields_by_name['value'].message_type = _SCALAR _SERVERMESSAGE_FITINS_CONFIGENTRY.containing_type = _SERVERMESSAGE_FITINS _SERVERMESSAGE_FITINS.fields_by_name['parameters'].message_type = _PARAMETERS @@ -965,21 +965,21 @@ _SERVERMESSAGE_EVALUATEINS.fields_by_name['parameters'].message_type = _PARAMETERS _SERVERMESSAGE_EVALUATEINS.fields_by_name['config'].message_type = _SERVERMESSAGE_EVALUATEINS_CONFIGENTRY _SERVERMESSAGE_EVALUATEINS.containing_type = _SERVERMESSAGE -_SERVERMESSAGE_PROPERTIESINS_CONFIGENTRY.fields_by_name['value'].message_type = _SCALAR -_SERVERMESSAGE_PROPERTIESINS_CONFIGENTRY.containing_type = _SERVERMESSAGE_PROPERTIESINS -_SERVERMESSAGE_PROPERTIESINS.fields_by_name['config'].message_type = _SERVERMESSAGE_PROPERTIESINS_CONFIGENTRY -_SERVERMESSAGE_PROPERTIESINS.containing_type = _SERVERMESSAGE +_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY.fields_by_name['value'].message_type = _SCALAR +_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY.containing_type = _SERVERMESSAGE_GETPROPERTIESINS +_SERVERMESSAGE_GETPROPERTIESINS.fields_by_name['config'].message_type = _SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY +_SERVERMESSAGE_GETPROPERTIESINS.containing_type = _SERVERMESSAGE _SERVERMESSAGE.fields_by_name['reconnect'].message_type = _SERVERMESSAGE_RECONNECT -_SERVERMESSAGE.fields_by_name['get_parameters'].message_type = _SERVERMESSAGE_GETPARAMETERS +_SERVERMESSAGE.fields_by_name['get_parameters_ins'].message_type = _SERVERMESSAGE_GETPARAMETERSINS _SERVERMESSAGE.fields_by_name['fit_ins'].message_type = _SERVERMESSAGE_FITINS _SERVERMESSAGE.fields_by_name['evaluate_ins'].message_type = _SERVERMESSAGE_EVALUATEINS -_SERVERMESSAGE.fields_by_name['properties_ins'].message_type = _SERVERMESSAGE_PROPERTIESINS +_SERVERMESSAGE.fields_by_name['get_properties_ins'].message_type = _SERVERMESSAGE_GETPROPERTIESINS _SERVERMESSAGE.oneofs_by_name['msg'].fields.append( _SERVERMESSAGE.fields_by_name['reconnect']) _SERVERMESSAGE.fields_by_name['reconnect'].containing_oneof = _SERVERMESSAGE.oneofs_by_name['msg'] _SERVERMESSAGE.oneofs_by_name['msg'].fields.append( - _SERVERMESSAGE.fields_by_name['get_parameters']) -_SERVERMESSAGE.fields_by_name['get_parameters'].containing_oneof = _SERVERMESSAGE.oneofs_by_name['msg'] + _SERVERMESSAGE.fields_by_name['get_parameters_ins']) +_SERVERMESSAGE.fields_by_name['get_parameters_ins'].containing_oneof = _SERVERMESSAGE.oneofs_by_name['msg'] _SERVERMESSAGE.oneofs_by_name['msg'].fields.append( _SERVERMESSAGE.fields_by_name['fit_ins']) _SERVERMESSAGE.fields_by_name['fit_ins'].containing_oneof = _SERVERMESSAGE.oneofs_by_name['msg'] @@ -987,12 +987,12 @@ _SERVERMESSAGE.fields_by_name['evaluate_ins']) _SERVERMESSAGE.fields_by_name['evaluate_ins'].containing_oneof = _SERVERMESSAGE.oneofs_by_name['msg'] _SERVERMESSAGE.oneofs_by_name['msg'].fields.append( - _SERVERMESSAGE.fields_by_name['properties_ins']) -_SERVERMESSAGE.fields_by_name['properties_ins'].containing_oneof = _SERVERMESSAGE.oneofs_by_name['msg'] + _SERVERMESSAGE.fields_by_name['get_properties_ins']) +_SERVERMESSAGE.fields_by_name['get_properties_ins'].containing_oneof = _SERVERMESSAGE.oneofs_by_name['msg'] _CLIENTMESSAGE_DISCONNECT.fields_by_name['reason'].enum_type = _REASON _CLIENTMESSAGE_DISCONNECT.containing_type = _CLIENTMESSAGE -_CLIENTMESSAGE_PARAMETERSRES.fields_by_name['parameters'].message_type = _PARAMETERS -_CLIENTMESSAGE_PARAMETERSRES.containing_type = _CLIENTMESSAGE +_CLIENTMESSAGE_GETPARAMETERSRES.fields_by_name['parameters'].message_type = _PARAMETERS +_CLIENTMESSAGE_GETPARAMETERSRES.containing_type = _CLIENTMESSAGE _CLIENTMESSAGE_FITRES_METRICSENTRY.fields_by_name['value'].message_type = _SCALAR _CLIENTMESSAGE_FITRES_METRICSENTRY.containing_type = _CLIENTMESSAGE_FITRES _CLIENTMESSAGE_FITRES.fields_by_name['parameters'].message_type = _PARAMETERS @@ -1002,22 +1002,22 @@ _CLIENTMESSAGE_EVALUATERES_METRICSENTRY.containing_type = _CLIENTMESSAGE_EVALUATERES _CLIENTMESSAGE_EVALUATERES.fields_by_name['metrics'].message_type = _CLIENTMESSAGE_EVALUATERES_METRICSENTRY _CLIENTMESSAGE_EVALUATERES.containing_type = _CLIENTMESSAGE -_CLIENTMESSAGE_PROPERTIESRES_PROPERTIESENTRY.fields_by_name['value'].message_type = _SCALAR -_CLIENTMESSAGE_PROPERTIESRES_PROPERTIESENTRY.containing_type = _CLIENTMESSAGE_PROPERTIESRES -_CLIENTMESSAGE_PROPERTIESRES.fields_by_name['status'].message_type = _STATUS -_CLIENTMESSAGE_PROPERTIESRES.fields_by_name['properties'].message_type = _CLIENTMESSAGE_PROPERTIESRES_PROPERTIESENTRY -_CLIENTMESSAGE_PROPERTIESRES.containing_type = _CLIENTMESSAGE +_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY.fields_by_name['value'].message_type = _SCALAR +_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY.containing_type = _CLIENTMESSAGE_GETPROPERTIESRES +_CLIENTMESSAGE_GETPROPERTIESRES.fields_by_name['status'].message_type = _STATUS +_CLIENTMESSAGE_GETPROPERTIESRES.fields_by_name['properties'].message_type = _CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY +_CLIENTMESSAGE_GETPROPERTIESRES.containing_type = _CLIENTMESSAGE _CLIENTMESSAGE.fields_by_name['disconnect'].message_type = _CLIENTMESSAGE_DISCONNECT -_CLIENTMESSAGE.fields_by_name['parameters_res'].message_type = _CLIENTMESSAGE_PARAMETERSRES +_CLIENTMESSAGE.fields_by_name['get_parameters_res'].message_type = _CLIENTMESSAGE_GETPARAMETERSRES _CLIENTMESSAGE.fields_by_name['fit_res'].message_type = _CLIENTMESSAGE_FITRES _CLIENTMESSAGE.fields_by_name['evaluate_res'].message_type = _CLIENTMESSAGE_EVALUATERES -_CLIENTMESSAGE.fields_by_name['properties_res'].message_type = _CLIENTMESSAGE_PROPERTIESRES +_CLIENTMESSAGE.fields_by_name['get_properties_res'].message_type = _CLIENTMESSAGE_GETPROPERTIESRES _CLIENTMESSAGE.oneofs_by_name['msg'].fields.append( _CLIENTMESSAGE.fields_by_name['disconnect']) _CLIENTMESSAGE.fields_by_name['disconnect'].containing_oneof = _CLIENTMESSAGE.oneofs_by_name['msg'] _CLIENTMESSAGE.oneofs_by_name['msg'].fields.append( - _CLIENTMESSAGE.fields_by_name['parameters_res']) -_CLIENTMESSAGE.fields_by_name['parameters_res'].containing_oneof = _CLIENTMESSAGE.oneofs_by_name['msg'] + _CLIENTMESSAGE.fields_by_name['get_parameters_res']) +_CLIENTMESSAGE.fields_by_name['get_parameters_res'].containing_oneof = _CLIENTMESSAGE.oneofs_by_name['msg'] _CLIENTMESSAGE.oneofs_by_name['msg'].fields.append( _CLIENTMESSAGE.fields_by_name['fit_res']) _CLIENTMESSAGE.fields_by_name['fit_res'].containing_oneof = _CLIENTMESSAGE.oneofs_by_name['msg'] @@ -1025,8 +1025,8 @@ _CLIENTMESSAGE.fields_by_name['evaluate_res']) _CLIENTMESSAGE.fields_by_name['evaluate_res'].containing_oneof = _CLIENTMESSAGE.oneofs_by_name['msg'] _CLIENTMESSAGE.oneofs_by_name['msg'].fields.append( - _CLIENTMESSAGE.fields_by_name['properties_res']) -_CLIENTMESSAGE.fields_by_name['properties_res'].containing_oneof = _CLIENTMESSAGE.oneofs_by_name['msg'] + _CLIENTMESSAGE.fields_by_name['get_properties_res']) +_CLIENTMESSAGE.fields_by_name['get_properties_res'].containing_oneof = _CLIENTMESSAGE.oneofs_by_name['msg'] _SCALAR.oneofs_by_name['scalar'].fields.append( _SCALAR.fields_by_name['double']) _SCALAR.fields_by_name['double'].containing_oneof = _SCALAR.oneofs_by_name['scalar'] @@ -1054,14 +1054,14 @@ Status = _reflection.GeneratedProtocolMessageType('Status', (_message.Message,), { 'DESCRIPTOR' : _STATUS, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.Status) + # @@protoc_insertion_point(class_scope:flwr.proto.Status) }) _sym_db.RegisterMessage(Status) Parameters = _reflection.GeneratedProtocolMessageType('Parameters', (_message.Message,), { 'DESCRIPTOR' : _PARAMETERS, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.Parameters) + # @@protoc_insertion_point(class_scope:flwr.proto.Parameters) }) _sym_db.RegisterMessage(Parameters) @@ -1070,14 +1070,14 @@ 'Reconnect' : _reflection.GeneratedProtocolMessageType('Reconnect', (_message.Message,), { 'DESCRIPTOR' : _SERVERMESSAGE_RECONNECT, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage.Reconnect) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage.Reconnect) }) , - 'GetParameters' : _reflection.GeneratedProtocolMessageType('GetParameters', (_message.Message,), { - 'DESCRIPTOR' : _SERVERMESSAGE_GETPARAMETERS, + 'GetParametersIns' : _reflection.GeneratedProtocolMessageType('GetParametersIns', (_message.Message,), { + 'DESCRIPTOR' : _SERVERMESSAGE_GETPARAMETERSINS, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage.GetParameters) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage.GetParametersIns) }) , @@ -1086,12 +1086,12 @@ 'ConfigEntry' : _reflection.GeneratedProtocolMessageType('ConfigEntry', (_message.Message,), { 'DESCRIPTOR' : _SERVERMESSAGE_FITINS_CONFIGENTRY, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage.FitIns.ConfigEntry) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage.FitIns.ConfigEntry) }) , 'DESCRIPTOR' : _SERVERMESSAGE_FITINS, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage.FitIns) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage.FitIns) }) , @@ -1100,55 +1100,55 @@ 'ConfigEntry' : _reflection.GeneratedProtocolMessageType('ConfigEntry', (_message.Message,), { 'DESCRIPTOR' : _SERVERMESSAGE_EVALUATEINS_CONFIGENTRY, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage.EvaluateIns.ConfigEntry) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage.EvaluateIns.ConfigEntry) }) , 'DESCRIPTOR' : _SERVERMESSAGE_EVALUATEINS, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage.EvaluateIns) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage.EvaluateIns) }) , - 'PropertiesIns' : _reflection.GeneratedProtocolMessageType('PropertiesIns', (_message.Message,), { + 'GetPropertiesIns' : _reflection.GeneratedProtocolMessageType('GetPropertiesIns', (_message.Message,), { 'ConfigEntry' : _reflection.GeneratedProtocolMessageType('ConfigEntry', (_message.Message,), { - 'DESCRIPTOR' : _SERVERMESSAGE_PROPERTIESINS_CONFIGENTRY, + 'DESCRIPTOR' : _SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage.PropertiesIns.ConfigEntry) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage.GetPropertiesIns.ConfigEntry) }) , - 'DESCRIPTOR' : _SERVERMESSAGE_PROPERTIESINS, + 'DESCRIPTOR' : _SERVERMESSAGE_GETPROPERTIESINS, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage.PropertiesIns) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage.GetPropertiesIns) }) , 'DESCRIPTOR' : _SERVERMESSAGE, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ServerMessage) + # @@protoc_insertion_point(class_scope:flwr.proto.ServerMessage) }) _sym_db.RegisterMessage(ServerMessage) _sym_db.RegisterMessage(ServerMessage.Reconnect) -_sym_db.RegisterMessage(ServerMessage.GetParameters) +_sym_db.RegisterMessage(ServerMessage.GetParametersIns) _sym_db.RegisterMessage(ServerMessage.FitIns) _sym_db.RegisterMessage(ServerMessage.FitIns.ConfigEntry) _sym_db.RegisterMessage(ServerMessage.EvaluateIns) _sym_db.RegisterMessage(ServerMessage.EvaluateIns.ConfigEntry) -_sym_db.RegisterMessage(ServerMessage.PropertiesIns) -_sym_db.RegisterMessage(ServerMessage.PropertiesIns.ConfigEntry) +_sym_db.RegisterMessage(ServerMessage.GetPropertiesIns) +_sym_db.RegisterMessage(ServerMessage.GetPropertiesIns.ConfigEntry) ClientMessage = _reflection.GeneratedProtocolMessageType('ClientMessage', (_message.Message,), { 'Disconnect' : _reflection.GeneratedProtocolMessageType('Disconnect', (_message.Message,), { 'DESCRIPTOR' : _CLIENTMESSAGE_DISCONNECT, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage.Disconnect) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage.Disconnect) }) , - 'ParametersRes' : _reflection.GeneratedProtocolMessageType('ParametersRes', (_message.Message,), { - 'DESCRIPTOR' : _CLIENTMESSAGE_PARAMETERSRES, + 'GetParametersRes' : _reflection.GeneratedProtocolMessageType('GetParametersRes', (_message.Message,), { + 'DESCRIPTOR' : _CLIENTMESSAGE_GETPARAMETERSRES, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage.ParametersRes) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage.GetParametersRes) }) , @@ -1157,12 +1157,12 @@ 'MetricsEntry' : _reflection.GeneratedProtocolMessageType('MetricsEntry', (_message.Message,), { 'DESCRIPTOR' : _CLIENTMESSAGE_FITRES_METRICSENTRY, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage.FitRes.MetricsEntry) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage.FitRes.MetricsEntry) }) , 'DESCRIPTOR' : _CLIENTMESSAGE_FITRES, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage.FitRes) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage.FitRes) }) , @@ -1171,70 +1171,70 @@ 'MetricsEntry' : _reflection.GeneratedProtocolMessageType('MetricsEntry', (_message.Message,), { 'DESCRIPTOR' : _CLIENTMESSAGE_EVALUATERES_METRICSENTRY, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage.EvaluateRes.MetricsEntry) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage.EvaluateRes.MetricsEntry) }) , 'DESCRIPTOR' : _CLIENTMESSAGE_EVALUATERES, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage.EvaluateRes) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage.EvaluateRes) }) , - 'PropertiesRes' : _reflection.GeneratedProtocolMessageType('PropertiesRes', (_message.Message,), { + 'GetPropertiesRes' : _reflection.GeneratedProtocolMessageType('GetPropertiesRes', (_message.Message,), { 'PropertiesEntry' : _reflection.GeneratedProtocolMessageType('PropertiesEntry', (_message.Message,), { - 'DESCRIPTOR' : _CLIENTMESSAGE_PROPERTIESRES_PROPERTIESENTRY, + 'DESCRIPTOR' : _CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage.PropertiesRes.PropertiesEntry) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage.GetPropertiesRes.PropertiesEntry) }) , - 'DESCRIPTOR' : _CLIENTMESSAGE_PROPERTIESRES, + 'DESCRIPTOR' : _CLIENTMESSAGE_GETPROPERTIESRES, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage.PropertiesRes) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage.GetPropertiesRes) }) , 'DESCRIPTOR' : _CLIENTMESSAGE, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.ClientMessage) + # @@protoc_insertion_point(class_scope:flwr.proto.ClientMessage) }) _sym_db.RegisterMessage(ClientMessage) _sym_db.RegisterMessage(ClientMessage.Disconnect) -_sym_db.RegisterMessage(ClientMessage.ParametersRes) +_sym_db.RegisterMessage(ClientMessage.GetParametersRes) _sym_db.RegisterMessage(ClientMessage.FitRes) _sym_db.RegisterMessage(ClientMessage.FitRes.MetricsEntry) _sym_db.RegisterMessage(ClientMessage.EvaluateRes) _sym_db.RegisterMessage(ClientMessage.EvaluateRes.MetricsEntry) -_sym_db.RegisterMessage(ClientMessage.PropertiesRes) -_sym_db.RegisterMessage(ClientMessage.PropertiesRes.PropertiesEntry) +_sym_db.RegisterMessage(ClientMessage.GetPropertiesRes) +_sym_db.RegisterMessage(ClientMessage.GetPropertiesRes.PropertiesEntry) Scalar = _reflection.GeneratedProtocolMessageType('Scalar', (_message.Message,), { 'DESCRIPTOR' : _SCALAR, '__module__' : 'flwr.proto.transport_pb2' - # @@protoc_insertion_point(class_scope:flower.transport.Scalar) + # @@protoc_insertion_point(class_scope:flwr.proto.Scalar) }) _sym_db.RegisterMessage(Scalar) _SERVERMESSAGE_FITINS_CONFIGENTRY._options = None _SERVERMESSAGE_EVALUATEINS_CONFIGENTRY._options = None -_SERVERMESSAGE_PROPERTIESINS_CONFIGENTRY._options = None +_SERVERMESSAGE_GETPROPERTIESINS_CONFIGENTRY._options = None _CLIENTMESSAGE_FITRES_METRICSENTRY._options = None _CLIENTMESSAGE_EVALUATERES_METRICSENTRY._options = None -_CLIENTMESSAGE_PROPERTIESRES_PROPERTIESENTRY._options = None +_CLIENTMESSAGE_GETPROPERTIESRES_PROPERTIESENTRY._options = None _FLOWERSERVICE = _descriptor.ServiceDescriptor( name='FlowerService', - full_name='flower.transport.FlowerService', + full_name='flwr.proto.FlowerService', file=DESCRIPTOR, index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=2543, - serialized_end=2638, + serialized_start=2409, + serialized_end=2492, methods=[ _descriptor.MethodDescriptor( name='Join', - full_name='flower.transport.FlowerService.Join', + full_name='flwr.proto.FlowerService.Join', index=0, containing_service=None, input_type=_CLIENTMESSAGE, diff --git a/src/py/flwr/proto/transport_pb2.pyi b/src/py/flwr/proto/transport_pb2.pyi index 0d7f7a22ecbe..b4221172c7fd 100644 --- a/src/py/flwr/proto/transport_pb2.pyi +++ b/src/py/flwr/proto/transport_pb2.pyi @@ -89,7 +89,7 @@ class ServerMessage(google.protobuf.message.Message): ) -> None: ... def ClearField(self, field_name: typing_extensions.Literal["seconds",b"seconds"]) -> None: ... - class GetParameters(google.protobuf.message.Message): + class GetParametersIns(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor def __init__(self, ) -> None: ... @@ -156,7 +156,7 @@ class ServerMessage(google.protobuf.message.Message): def HasField(self, field_name: typing_extensions.Literal["parameters",b"parameters"]) -> builtins.bool: ... def ClearField(self, field_name: typing_extensions.Literal["config",b"config","parameters",b"parameters"]) -> None: ... - class PropertiesIns(google.protobuf.message.Message): + class GetPropertiesIns(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor class ConfigEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -183,31 +183,31 @@ class ServerMessage(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal["config",b"config"]) -> None: ... RECONNECT_FIELD_NUMBER: builtins.int - GET_PARAMETERS_FIELD_NUMBER: builtins.int + GET_PARAMETERS_INS_FIELD_NUMBER: builtins.int FIT_INS_FIELD_NUMBER: builtins.int EVALUATE_INS_FIELD_NUMBER: builtins.int - PROPERTIES_INS_FIELD_NUMBER: builtins.int + GET_PROPERTIES_INS_FIELD_NUMBER: builtins.int @property def reconnect(self) -> global___ServerMessage.Reconnect: ... @property - def get_parameters(self) -> global___ServerMessage.GetParameters: ... + def get_parameters_ins(self) -> global___ServerMessage.GetParametersIns: ... @property def fit_ins(self) -> global___ServerMessage.FitIns: ... @property def evaluate_ins(self) -> global___ServerMessage.EvaluateIns: ... @property - def properties_ins(self) -> global___ServerMessage.PropertiesIns: ... + def get_properties_ins(self) -> global___ServerMessage.GetPropertiesIns: ... def __init__(self, *, reconnect: typing.Optional[global___ServerMessage.Reconnect] = ..., - get_parameters: typing.Optional[global___ServerMessage.GetParameters] = ..., + get_parameters_ins: typing.Optional[global___ServerMessage.GetParametersIns] = ..., fit_ins: typing.Optional[global___ServerMessage.FitIns] = ..., evaluate_ins: typing.Optional[global___ServerMessage.EvaluateIns] = ..., - properties_ins: typing.Optional[global___ServerMessage.PropertiesIns] = ..., + get_properties_ins: typing.Optional[global___ServerMessage.GetPropertiesIns] = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["evaluate_ins",b"evaluate_ins","fit_ins",b"fit_ins","get_parameters",b"get_parameters","msg",b"msg","properties_ins",b"properties_ins","reconnect",b"reconnect"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["evaluate_ins",b"evaluate_ins","fit_ins",b"fit_ins","get_parameters",b"get_parameters","msg",b"msg","properties_ins",b"properties_ins","reconnect",b"reconnect"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["msg",b"msg"]) -> typing.Optional[typing_extensions.Literal["reconnect","get_parameters","fit_ins","evaluate_ins","properties_ins"]]: ... + def HasField(self, field_name: typing_extensions.Literal["evaluate_ins",b"evaluate_ins","fit_ins",b"fit_ins","get_parameters_ins",b"get_parameters_ins","get_properties_ins",b"get_properties_ins","msg",b"msg","reconnect",b"reconnect"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["evaluate_ins",b"evaluate_ins","fit_ins",b"fit_ins","get_parameters_ins",b"get_parameters_ins","get_properties_ins",b"get_properties_ins","msg",b"msg","reconnect",b"reconnect"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["msg",b"msg"]) -> typing.Optional[typing_extensions.Literal["reconnect","get_parameters_ins","fit_ins","evaluate_ins","get_properties_ins"]]: ... global___ServerMessage = ServerMessage class ClientMessage(google.protobuf.message.Message): @@ -222,7 +222,7 @@ class ClientMessage(google.protobuf.message.Message): ) -> None: ... def ClearField(self, field_name: typing_extensions.Literal["reason",b"reason"]) -> None: ... - class ParametersRes(google.protobuf.message.Message): + class GetParametersRes(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor PARAMETERS_FIELD_NUMBER: builtins.int @property @@ -300,7 +300,7 @@ class ClientMessage(google.protobuf.message.Message): ) -> None: ... def ClearField(self, field_name: typing_extensions.Literal["loss",b"loss","metrics",b"metrics","num_examples",b"num_examples"]) -> None: ... - class PropertiesRes(google.protobuf.message.Message): + class GetPropertiesRes(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor class PropertiesEntry(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -332,31 +332,31 @@ class ClientMessage(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal["properties",b"properties","status",b"status"]) -> None: ... DISCONNECT_FIELD_NUMBER: builtins.int - PARAMETERS_RES_FIELD_NUMBER: builtins.int + GET_PARAMETERS_RES_FIELD_NUMBER: builtins.int FIT_RES_FIELD_NUMBER: builtins.int EVALUATE_RES_FIELD_NUMBER: builtins.int - PROPERTIES_RES_FIELD_NUMBER: builtins.int + GET_PROPERTIES_RES_FIELD_NUMBER: builtins.int @property def disconnect(self) -> global___ClientMessage.Disconnect: ... @property - def parameters_res(self) -> global___ClientMessage.ParametersRes: ... + def get_parameters_res(self) -> global___ClientMessage.GetParametersRes: ... @property def fit_res(self) -> global___ClientMessage.FitRes: ... @property def evaluate_res(self) -> global___ClientMessage.EvaluateRes: ... @property - def properties_res(self) -> global___ClientMessage.PropertiesRes: ... + def get_properties_res(self) -> global___ClientMessage.GetPropertiesRes: ... def __init__(self, *, disconnect: typing.Optional[global___ClientMessage.Disconnect] = ..., - parameters_res: typing.Optional[global___ClientMessage.ParametersRes] = ..., + get_parameters_res: typing.Optional[global___ClientMessage.GetParametersRes] = ..., fit_res: typing.Optional[global___ClientMessage.FitRes] = ..., evaluate_res: typing.Optional[global___ClientMessage.EvaluateRes] = ..., - properties_res: typing.Optional[global___ClientMessage.PropertiesRes] = ..., + get_properties_res: typing.Optional[global___ClientMessage.GetPropertiesRes] = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["disconnect",b"disconnect","evaluate_res",b"evaluate_res","fit_res",b"fit_res","msg",b"msg","parameters_res",b"parameters_res","properties_res",b"properties_res"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["disconnect",b"disconnect","evaluate_res",b"evaluate_res","fit_res",b"fit_res","msg",b"msg","parameters_res",b"parameters_res","properties_res",b"properties_res"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["msg",b"msg"]) -> typing.Optional[typing_extensions.Literal["disconnect","parameters_res","fit_res","evaluate_res","properties_res"]]: ... + def HasField(self, field_name: typing_extensions.Literal["disconnect",b"disconnect","evaluate_res",b"evaluate_res","fit_res",b"fit_res","get_parameters_res",b"get_parameters_res","get_properties_res",b"get_properties_res","msg",b"msg"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["disconnect",b"disconnect","evaluate_res",b"evaluate_res","fit_res",b"fit_res","get_parameters_res",b"get_parameters_res","get_properties_res",b"get_properties_res","msg",b"msg"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["msg",b"msg"]) -> typing.Optional[typing_extensions.Literal["disconnect","get_parameters_res","fit_res","evaluate_res","get_properties_res"]]: ... global___ClientMessage = ClientMessage class Scalar(google.protobuf.message.Message): diff --git a/src/py/flwr/proto/transport_pb2_grpc.py b/src/py/flwr/proto/transport_pb2_grpc.py index ea02e0781220..05f47fefddea 100644 --- a/src/py/flwr/proto/transport_pb2_grpc.py +++ b/src/py/flwr/proto/transport_pb2_grpc.py @@ -15,7 +15,7 @@ def __init__(self, channel): channel: A grpc.Channel. """ self.Join = channel.stream_stream( - '/flower.transport.FlowerService/Join', + '/flwr.proto.FlowerService/Join', request_serializer=flwr_dot_proto_dot_transport__pb2.ClientMessage.SerializeToString, response_deserializer=flwr_dot_proto_dot_transport__pb2.ServerMessage.FromString, ) @@ -40,7 +40,7 @@ def add_FlowerServiceServicer_to_server(servicer, server): ), } generic_handler = grpc.method_handlers_generic_handler( - 'flower.transport.FlowerService', rpc_method_handlers) + 'flwr.proto.FlowerService', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) @@ -59,7 +59,7 @@ def Join(request_iterator, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.stream_stream(request_iterator, target, '/flower.transport.FlowerService/Join', + return grpc.experimental.stream_stream(request_iterator, target, '/flwr.proto.FlowerService/Join', flwr_dot_proto_dot_transport__pb2.ClientMessage.SerializeToString, flwr_dot_proto_dot_transport__pb2.ServerMessage.FromString, options, channel_credentials, From 961d4fe08bf1c82c009d7d308d435f3ce07e4915 Mon Sep 17 00:00:00 2001 From: "Daniel J. Beutel" Date: Fri, 13 May 2022 13:20:02 +0200 Subject: [PATCH 2/3] Update server/client to match protobuf --- src/py/flwr/client/app_test.py | 10 ++-- src/py/flwr/client/client.py | 16 +++---- src/py/flwr/client/client_test.py | 14 +++--- .../client/grpc_client/message_handler.py | 28 +++++------ .../grpc_client/message_handler_test.py | 30 ++++++------ src/py/flwr/client/numpy_client.py | 14 +++--- src/py/flwr/common/__init__.py | 12 ++--- src/py/flwr/common/serde.py | 48 ++++++++++++------- src/py/flwr/common/typing.py | 6 +-- src/py/flwr/server/client_proxy.py | 12 ++--- .../server/grpc_server/grpc_client_proxy.py | 26 +++++----- .../grpc_server/grpc_client_proxy_test.py | 8 ++-- src/py/flwr/server/server.py | 4 +- src/py/flwr/server/server_test.py | 18 +++---- .../ray_transport/ray_client_proxy.py | 20 ++++---- 15 files changed, 141 insertions(+), 125 deletions(-) diff --git a/src/py/flwr/client/app_test.py b/src/py/flwr/client/app_test.py index 828f579efa8e..22dc2cc8e9ea 100644 --- a/src/py/flwr/client/app_test.py +++ b/src/py/flwr/client/app_test.py @@ -25,9 +25,9 @@ EvaluateRes, FitIns, FitRes, - ParametersRes, - PropertiesIns, - PropertiesRes, + GetParametersRes, + GetPropertiesIns, + GetPropertiesRes, Scalar, ) @@ -39,11 +39,11 @@ class PlainClient(Client): """Client implementation extending the low-level Client.""" - def get_properties(self, ins: PropertiesIns) -> PropertiesRes: + def get_properties(self, ins: GetPropertiesIns) -> GetPropertiesRes: # This method is not expected to be called raise Exception() - def get_parameters(self) -> ParametersRes: + def get_parameters(self) -> GetParametersRes: # This method is not expected to be called raise Exception() diff --git a/src/py/flwr/client/client.py b/src/py/flwr/client/client.py index 32afab44bf44..6bf0d0de85af 100644 --- a/src/py/flwr/client/client.py +++ b/src/py/flwr/client/client.py @@ -22,37 +22,37 @@ EvaluateRes, FitIns, FitRes, - ParametersRes, - PropertiesIns, - PropertiesRes, + GetParametersRes, + GetPropertiesIns, + GetPropertiesRes, ) class Client(ABC): """Abstract base class for Flower clients.""" - def get_properties(self, ins: PropertiesIns) -> PropertiesRes: + def get_properties(self, ins: GetPropertiesIns) -> GetPropertiesRes: """Return set of client's properties. Parameters ---------- - ins : PropertiesIns + ins : GetPropertiesIns The get properties instructions received from the server containing a dictionary of configuration values used to configure. Returns ------- - PropertiesRes + GetPropertiesRes Client's properties. """ @abstractmethod - def get_parameters(self) -> ParametersRes: + def get_parameters(self) -> GetParametersRes: """Return the current local model parameters. Returns ------- - ParametersRes + GetParametersRes The current local model parameters. """ diff --git a/src/py/flwr/client/client_test.py b/src/py/flwr/client/client_test.py index 9b9db61b5d4e..cd528f7e488b 100644 --- a/src/py/flwr/client/client_test.py +++ b/src/py/flwr/client/client_test.py @@ -21,9 +21,9 @@ EvaluateRes, FitIns, FitRes, - ParametersRes, - PropertiesIns, - PropertiesRes, + GetParametersRes, + GetPropertiesIns, + GetPropertiesRes, Status, ) @@ -33,12 +33,12 @@ class OverridingClient(Client): """Client overriding `get_properties`.""" - def get_properties(self, ins: PropertiesIns) -> PropertiesRes: - return PropertiesRes( + def get_properties(self, ins: GetPropertiesIns) -> GetPropertiesRes: + return GetPropertiesRes( status=Status(code=Code.OK, message="Success"), properties={} ) - def get_parameters(self) -> ParametersRes: + def get_parameters(self) -> GetParametersRes: # This method is not expected to be called raise Exception() @@ -54,7 +54,7 @@ def evaluate(self, ins: EvaluateIns) -> EvaluateRes: class NotOverridingClient(Client): """Client not overriding `get_properties`.""" - def get_parameters(self) -> ParametersRes: + def get_parameters(self) -> GetParametersRes: # This method is not expected to be called raise Exception() diff --git a/src/py/flwr/client/grpc_client/message_handler.py b/src/py/flwr/client/grpc_client/message_handler.py index 6ca8761cfe42..b084ffc52efc 100644 --- a/src/py/flwr/client/grpc_client/message_handler.py +++ b/src/py/flwr/client/grpc_client/message_handler.py @@ -53,9 +53,9 @@ def handle( if field == "reconnect": disconnect_msg, sleep_duration = _reconnect(server_msg.reconnect) return disconnect_msg, sleep_duration, False - if field == "properties_ins": - return _get_properties(client, server_msg.properties_ins), 0, True - if field == "get_parameters": + if field == "get_properties_ins": + return _get_properties(client, server_msg.get_properties_ins), 0, True + if field == "get_parameters_ins": return _get_parameters(client), 0, True if field == "fit_ins": return _fit(client, server_msg.fit_ins), 0, True @@ -79,35 +79,35 @@ def _reconnect( def _get_properties( - client: Client, properties_msg: ServerMessage.PropertiesIns + client: Client, properties_msg: ServerMessage.GetPropertiesIns ) -> ClientMessage: # Check if client overrides get_properties if not has_get_properties(client=client): # If client does not override get_properties, don't call it - properties_res = typing.PropertiesRes( + get_properties_res = typing.GetPropertiesRes( status=typing.Status( code=typing.Code.GET_PARAMETERS_NOT_IMPLEMENTED, message="Client does not implement get_properties", ), properties={}, ) - properties_res_proto = serde.properties_res_to_proto(properties_res) - return ClientMessage(properties_res=properties_res_proto) + get_properties_res_proto = serde.get_properties_res_to_proto(get_properties_res) + return ClientMessage(get_properties_res=get_properties_res_proto) # Deserialize get_properties instruction - properties_ins = serde.properties_ins_from_proto(properties_msg) + properties_ins = serde.get_properties_ins_from_proto(properties_msg) # Request for properties - properties_res = client.get_properties(properties_ins) + get_properties_res = client.get_properties(properties_ins) # Serialize response - properties_res_proto = serde.properties_res_to_proto(properties_res) - return ClientMessage(properties_res=properties_res_proto) + get_properties_res_proto = serde.get_properties_res_to_proto(get_properties_res) + return ClientMessage(get_properties_res=get_properties_res_proto) def _get_parameters(client: Client) -> ClientMessage: # No need to deserialize get_parameters_msg (it's empty) - parameters_res = client.get_parameters() - parameters_res_proto = serde.parameters_res_to_proto(parameters_res) - return ClientMessage(parameters_res=parameters_res_proto) + get_parameters_res = client.get_parameters() + get_parameters_res_proto = serde.get_parameters_res_to_proto(get_parameters_res) + return ClientMessage(get_parameters_res=get_parameters_res_proto) def _fit(client: Client, fit_msg: ServerMessage.FitIns) -> ClientMessage: diff --git a/src/py/flwr/client/grpc_client/message_handler_test.py b/src/py/flwr/client/grpc_client/message_handler_test.py index e18c4c238abd..577c2c1f9fbc 100644 --- a/src/py/flwr/client/grpc_client/message_handler_test.py +++ b/src/py/flwr/client/grpc_client/message_handler_test.py @@ -21,9 +21,9 @@ EvaluateRes, FitIns, FitRes, - ParametersRes, - PropertiesIns, - PropertiesRes, + GetParametersRes, + GetPropertiesIns, + GetPropertiesRes, serde, typing, ) @@ -35,7 +35,7 @@ class FlowerClientWithoutProps(Client): """Flower client not implementing get_properties.""" - def get_parameters(self) -> ParametersRes: + def get_parameters(self) -> GetParametersRes: pass def fit(self, ins: FitIns) -> FitRes: @@ -48,13 +48,13 @@ def evaluate(self, ins: EvaluateIns) -> EvaluateRes: class FlowerClientWithProps(Client): """Flower client implementing get_properties.""" - def get_properties(self, ins: PropertiesIns) -> PropertiesRes: - return PropertiesRes( + def get_properties(self, ins: GetPropertiesIns) -> GetPropertiesRes: + return GetPropertiesRes( status=typing.Status(code=typing.Code.OK, message="Success"), properties={"str_prop": "val", "int_prop": 1}, ) - def get_parameters(self) -> ParametersRes: + def get_parameters(self) -> GetParametersRes: pass def fit(self, ins: FitIns) -> FitRes: @@ -68,8 +68,8 @@ def test_client_without_get_properties() -> None: """Test client implementing get_properties.""" # Prepare client = FlowerClientWithoutProps() - ins = ServerMessage.PropertiesIns() - msg = ServerMessage(properties_ins=ins) + ins = ServerMessage.GetPropertiesIns() + msg = ServerMessage(get_properties_ins=ins) # Execute actual_msg, actual_sleep_duration, actual_keep_going = handle( @@ -77,13 +77,13 @@ def test_client_without_get_properties() -> None: ) # Assert - expected_properties_res = ClientMessage.PropertiesRes( + expected_get_properties_res = ClientMessage.GetPropertiesRes( status=Status( code=Code.GET_PARAMETERS_NOT_IMPLEMENTED, message="Client does not implement get_properties", ) ) - expected_msg = ClientMessage(properties_res=expected_properties_res) + expected_msg = ClientMessage(get_properties_res=expected_get_properties_res) assert actual_msg == expected_msg assert actual_sleep_duration == 0 @@ -94,8 +94,8 @@ def test_client_with_get_properties() -> None: """Test client not implementing get_properties.""" # Prepare client = FlowerClientWithProps() - ins = ServerMessage.PropertiesIns() - msg = ServerMessage(properties_ins=ins) + ins = ServerMessage.GetPropertiesIns() + msg = ServerMessage(get_properties_ins=ins) # Execute actual_msg, actual_sleep_duration, actual_keep_going = handle( @@ -103,7 +103,7 @@ def test_client_with_get_properties() -> None: ) # Assert - expected_properties_res = ClientMessage.PropertiesRes( + expected_get_properties_res = ClientMessage.GetPropertiesRes( status=Status( code=Code.OK, message="Success", @@ -112,7 +112,7 @@ def test_client_with_get_properties() -> None: properties={"str_prop": "val", "int_prop": 1} ), ) - expected_msg = ClientMessage(properties_res=expected_properties_res) + expected_msg = ClientMessage(get_properties_res=expected_get_properties_res) assert actual_msg == expected_msg assert actual_sleep_duration == 0 diff --git a/src/py/flwr/client/numpy_client.py b/src/py/flwr/client/numpy_client.py index 441d0c52be6d..c27e63b0b69f 100644 --- a/src/py/flwr/client/numpy_client.py +++ b/src/py/flwr/client/numpy_client.py @@ -27,10 +27,10 @@ EvaluateRes, FitIns, FitRes, + GetParametersRes, + GetPropertiesIns, + GetPropertiesRes, Metrics, - ParametersRes, - PropertiesIns, - PropertiesRes, Scalar, Status, parameters_to_weights, @@ -171,19 +171,19 @@ class NumPyClientWrapper(Client): def __init__(self, numpy_client: NumPyClient) -> None: self.numpy_client = numpy_client - def get_properties(self, ins: PropertiesIns) -> PropertiesRes: + def get_properties(self, ins: GetPropertiesIns) -> GetPropertiesRes: """Return the current client properties.""" properties = self.numpy_client.get_properties(ins.config) - return PropertiesRes( + return GetPropertiesRes( status=Status(code=Code.OK, message="Success"), properties=properties, ) - def get_parameters(self) -> ParametersRes: + def get_parameters(self) -> GetParametersRes: """Return the current local model parameters.""" parameters = self.numpy_client.get_parameters() parameters_proto = weights_to_parameters(parameters) - return ParametersRes(parameters=parameters_proto) + return GetParametersRes(parameters=parameters_proto) def fit(self, ins: FitIns) -> FitRes: """Refine the provided weights using the locally held dataset.""" diff --git a/src/py/flwr/common/__init__.py b/src/py/flwr/common/__init__.py index 45a50223e9f6..b0964f50af10 100644 --- a/src/py/flwr/common/__init__.py +++ b/src/py/flwr/common/__init__.py @@ -26,13 +26,13 @@ from .typing import EvaluateRes as EvaluateRes from .typing import FitIns as FitIns from .typing import FitRes as FitRes +from .typing import GetParametersRes as GetParametersRes +from .typing import GetPropertiesIns as GetPropertiesIns +from .typing import GetPropertiesRes as GetPropertiesRes from .typing import Metrics as Metrics from .typing import MetricsAggregationFn as MetricsAggregationFn from .typing import Parameters as Parameters -from .typing import ParametersRes as ParametersRes from .typing import Properties as Properties -from .typing import PropertiesIns as PropertiesIns -from .typing import PropertiesRes as PropertiesRes from .typing import Reconnect as Reconnect from .typing import Scalar as Scalar from .typing import Status as Status @@ -49,16 +49,16 @@ "EvaluateRes", "FitIns", "FitRes", + "GetParametersRes", + "GetPropertiesIns", + "GetPropertiesRes", "GRPC_MAX_MESSAGE_LENGTH", "Metrics", "MetricsAggregationFn", "ndarray_to_bytes", "Parameters", "parameters_to_weights", - "ParametersRes", "Properties", - "PropertiesIns", - "PropertiesRes", "Reconnect", "Scalar", "Status", diff --git a/src/py/flwr/common/serde.py b/src/py/flwr/common/serde.py index 60d1a6303ed5..5411f0a31e97 100644 --- a/src/py/flwr/common/serde.py +++ b/src/py/flwr/common/serde.py @@ -87,25 +87,29 @@ def disconnect_from_proto(msg: ClientMessage.Disconnect) -> typing.Disconnect: # === GetParameters messages === -def get_parameters_to_proto() -> ServerMessage.GetParameters: +def get_parameters_ins_to_proto() -> ServerMessage.GetParametersIns: """.""" - return ServerMessage.GetParameters() + return ServerMessage.GetParametersIns() # Not required: # def get_weights_from_proto(msg: ServerMessage.GetWeights) -> None: -def parameters_res_to_proto(res: typing.ParametersRes) -> ClientMessage.ParametersRes: +def get_parameters_res_to_proto( + res: typing.GetParametersRes, +) -> ClientMessage.GetParametersRes: """.""" parameters_proto = parameters_to_proto(res.parameters) - return ClientMessage.ParametersRes(parameters=parameters_proto) + return ClientMessage.GetParametersRes(parameters=parameters_proto) -def parameters_res_from_proto(msg: ClientMessage.ParametersRes) -> typing.ParametersRes: +def get_parameters_res_from_proto( + msg: ClientMessage.GetParametersRes, +) -> typing.GetParametersRes: """.""" parameters = parameters_from_proto(msg.parameters) - return typing.ParametersRes(parameters=parameters) + return typing.GetParametersRes(parameters=parameters) # === Fit messages === @@ -150,30 +154,38 @@ def fit_res_from_proto(msg: ClientMessage.FitRes) -> typing.FitRes: # === Properties messages === -def properties_ins_to_proto(ins: typing.PropertiesIns) -> ServerMessage.PropertiesIns: - """Serialize PropertiesIns to ProtoBuf message.""" +def get_properties_ins_to_proto( + ins: typing.GetPropertiesIns, +) -> ServerMessage.GetPropertiesIns: + """Serialize GetPropertiesIns to ProtoBuf message.""" config = properties_to_proto(ins.config) - return ServerMessage.PropertiesIns(config=config) + return ServerMessage.GetPropertiesIns(config=config) -def properties_ins_from_proto(msg: ServerMessage.PropertiesIns) -> typing.PropertiesIns: - """Deserialize PropertiesIns from ProtoBuf message.""" +def get_properties_ins_from_proto( + msg: ServerMessage.GetPropertiesIns, +) -> typing.GetPropertiesIns: + """Deserialize GetPropertiesIns from ProtoBuf message.""" config = properties_from_proto(msg.config) - return typing.PropertiesIns(config=config) + return typing.GetPropertiesIns(config=config) -def properties_res_to_proto(res: typing.PropertiesRes) -> ClientMessage.PropertiesRes: - """Serialize PropertiesIns to ProtoBuf message.""" +def get_properties_res_to_proto( + res: typing.GetPropertiesRes, +) -> ClientMessage.GetPropertiesRes: + """Serialize GetPropertiesIns to ProtoBuf message.""" status_msg = status_to_proto(res.status) properties_msg = properties_to_proto(res.properties) - return ClientMessage.PropertiesRes(status=status_msg, properties=properties_msg) + return ClientMessage.GetPropertiesRes(status=status_msg, properties=properties_msg) -def properties_res_from_proto(msg: ClientMessage.PropertiesRes) -> typing.PropertiesRes: - """Deserialize PropertiesRes from ProtoBuf message.""" +def get_properties_res_from_proto( + msg: ClientMessage.GetPropertiesRes, +) -> typing.GetPropertiesRes: + """Deserialize GetPropertiesRes from ProtoBuf message.""" status = status_from_proto(msg=msg.status) properties = properties_from_proto(msg.properties) - return typing.PropertiesRes(status=status, properties=properties) + return typing.GetPropertiesRes(status=status, properties=properties) def status_to_proto(status: typing.Status) -> Status: diff --git a/src/py/flwr/common/typing.py b/src/py/flwr/common/typing.py index cb291186e035..7f87c1fbdc23 100644 --- a/src/py/flwr/common/typing.py +++ b/src/py/flwr/common/typing.py @@ -60,7 +60,7 @@ class Parameters: @dataclass -class ParametersRes: +class GetParametersRes: """Response when asked to return parameters.""" parameters: Parameters @@ -101,14 +101,14 @@ class EvaluateRes: @dataclass -class PropertiesIns: +class GetPropertiesIns: """Properties requests for a client.""" config: Config @dataclass -class PropertiesRes: +class GetPropertiesRes: """Properties response from a client.""" status: Status diff --git a/src/py/flwr/server/client_proxy.py b/src/py/flwr/server/client_proxy.py index 524dc9a7068a..45f846ebbb9e 100644 --- a/src/py/flwr/server/client_proxy.py +++ b/src/py/flwr/server/client_proxy.py @@ -24,10 +24,10 @@ EvaluateRes, FitIns, FitRes, - ParametersRes, + GetParametersRes, + GetPropertiesIns, + GetPropertiesRes, Properties, - PropertiesIns, - PropertiesRes, Reconnect, ) @@ -42,16 +42,16 @@ def __init__(self, cid: str): @abstractmethod def get_properties( self, - ins: PropertiesIns, + ins: GetPropertiesIns, timeout: Optional[float], - ) -> PropertiesRes: + ) -> GetPropertiesRes: """Returns the client's properties.""" @abstractmethod def get_parameters( self, timeout: Optional[float], - ) -> ParametersRes: + ) -> GetParametersRes: """Return the current local model parameters.""" @abstractmethod diff --git a/src/py/flwr/server/grpc_server/grpc_client_proxy.py b/src/py/flwr/server/grpc_server/grpc_client_proxy.py index 75872cd30796..fe131dd96b11 100644 --- a/src/py/flwr/server/grpc_server/grpc_client_proxy.py +++ b/src/py/flwr/server/grpc_server/grpc_client_proxy.py @@ -36,36 +36,40 @@ def __init__( def get_properties( self, - ins: common.PropertiesIns, + ins: common.GetPropertiesIns, timeout: Optional[float], - ) -> common.PropertiesRes: + ) -> common.GetPropertiesRes: """Requests client's set of internal properties.""" - properties_msg = serde.properties_ins_to_proto(ins) + get_properties_msg = serde.get_properties_ins_to_proto(ins) res_wrapper: ResWrapper = self.bridge.request( ins_wrapper=InsWrapper( - server_message=ServerMessage(properties_ins=properties_msg), + server_message=ServerMessage(get_properties_ins=get_properties_msg), timeout=timeout, ) ) client_msg: ClientMessage = res_wrapper.client_message - properties_res = serde.properties_res_from_proto(client_msg.properties_res) - return properties_res + get_properties_res = serde.get_properties_res_from_proto( + client_msg.get_properties_res + ) + return get_properties_res def get_parameters( self, timeout: Optional[float], - ) -> common.ParametersRes: + ) -> common.GetParametersRes: """Return the current local model parameters.""" - get_parameters_msg = serde.get_parameters_to_proto() + get_parameters_msg = serde.get_parameters_ins_to_proto() res_wrapper: ResWrapper = self.bridge.request( ins_wrapper=InsWrapper( - server_message=ServerMessage(get_parameters=get_parameters_msg), + server_message=ServerMessage(get_parameters_ins=get_parameters_msg), timeout=timeout, ) ) client_msg: ClientMessage = res_wrapper.client_message - parameters_res = serde.parameters_res_from_proto(client_msg.parameters_res) - return parameters_res + get_parameters_res = serde.get_parameters_res_from_proto( + client_msg.get_parameters_res + ) + return get_parameters_res def fit( self, diff --git a/src/py/flwr/server/grpc_server/grpc_client_proxy_test.py b/src/py/flwr/server/grpc_server/grpc_client_proxy_test.py index 0942acdc9730..0f30aa2fb640 100644 --- a/src/py/flwr/server/grpc_server/grpc_client_proxy_test.py +++ b/src/py/flwr/server/grpc_server/grpc_client_proxy_test.py @@ -35,7 +35,7 @@ ) CLIENT_PROPERTIES = {"tensor_type": Scalar(string="numpy.ndarray")} MESSAGE_PROPERTIES_RES = ClientMessage( - properties_res=ClientMessage.PropertiesRes(properties=CLIENT_PROPERTIES) + get_properties_res=ClientMessage.GetPropertiesRes(properties=CLIENT_PROPERTIES) ) RES_WRAPPER_FIT_RES = ResWrapper(client_message=MESSAGE_FIT_RES) @@ -62,7 +62,7 @@ def test_get_parameters(self) -> None: client = GrpcClientProxy(cid="1", bridge=self.bridge_mock) # Execute - value: flwr.common.ParametersRes = client.get_parameters(timeout=None) + value: flwr.common.GetParametersRes = client.get_parameters(timeout=None) # Assert assert not value.parameters.tensors @@ -103,12 +103,12 @@ def test_get_properties(self) -> None: # Prepare client = GrpcClientProxy(cid="1", bridge=self.bridge_mock_get_proprieties) request_properties: Config = {"tensor_type": "str"} - ins: flwr.common.PropertiesIns = flwr.common.PropertiesIns( + ins: flwr.common.GetPropertiesIns = flwr.common.GetPropertiesIns( config=request_properties ) # Execute - value: flwr.common.PropertiesRes = client.get_properties(ins, timeout=None) + value: flwr.common.GetPropertiesRes = client.get_properties(ins, timeout=None) # Assert assert value.properties["tensor_type"] == "numpy.ndarray" diff --git a/src/py/flwr/server/server.py b/src/py/flwr/server/server.py index 9d435b0c1666..4877c4b244a4 100644 --- a/src/py/flwr/server/server.py +++ b/src/py/flwr/server/server.py @@ -255,9 +255,9 @@ def _get_initial_parameters(self, timeout: Optional[float]) -> Parameters: # Get initial parameters from one of the clients log(INFO, "Requesting initial parameters from one random client") random_client = self._client_manager.sample(1)[0] - parameters_res = random_client.get_parameters(timeout=timeout) + get_parameters_res = random_client.get_parameters(timeout=timeout) log(INFO, "Received initial parameters from one random client") - return parameters_res.parameters + return get_parameters_res.parameters def reconnect_clients( diff --git a/src/py/flwr/server/server_test.py b/src/py/flwr/server/server_test.py index a69b687fdce0..20c2157cbef0 100644 --- a/src/py/flwr/server/server_test.py +++ b/src/py/flwr/server/server_test.py @@ -25,10 +25,10 @@ EvaluateRes, FitIns, FitRes, + GetParametersRes, + GetPropertiesIns, + GetPropertiesRes, Parameters, - ParametersRes, - PropertiesIns, - PropertiesRes, Reconnect, ndarray_to_bytes, ) @@ -42,12 +42,12 @@ class SuccessClient(ClientProxy): """Test class.""" def get_properties( - self, ins: PropertiesIns, timeout: Optional[float] - ) -> PropertiesRes: + self, ins: GetPropertiesIns, timeout: Optional[float] + ) -> GetPropertiesRes: # This method is not expected to be called raise Exception() - def get_parameters(self, timeout: Optional[float]) -> ParametersRes: + def get_parameters(self, timeout: Optional[float]) -> GetParametersRes: # This method is not expected to be called raise Exception() @@ -71,11 +71,11 @@ class FailingClient(ClientProxy): """Test class.""" def get_properties( - self, ins: PropertiesIns, timeout: Optional[float] - ) -> PropertiesRes: + self, ins: GetPropertiesIns, timeout: Optional[float] + ) -> GetPropertiesRes: raise Exception() - def get_parameters(self, timeout: Optional[float]) -> ParametersRes: + def get_parameters(self, timeout: Optional[float]) -> GetParametersRes: raise Exception() def fit(self, ins: FitIns, timeout: Optional[float]) -> FitRes: diff --git a/src/py/flwr/simulation/ray_transport/ray_client_proxy.py b/src/py/flwr/simulation/ray_transport/ray_client_proxy.py index 0f54afd78231..6e02457606be 100644 --- a/src/py/flwr/simulation/ray_transport/ray_client_proxy.py +++ b/src/py/flwr/simulation/ray_transport/ray_client_proxy.py @@ -35,26 +35,26 @@ def __init__(self, client_fn: ClientFn, cid: str, resources: Dict[str, int]): self.resources = resources def get_properties( - self, ins: common.PropertiesIns, timeout: Optional[float] - ) -> common.PropertiesRes: + self, ins: common.GetPropertiesIns, timeout: Optional[float] + ) -> common.GetPropertiesRes: """Returns client's properties.""" - future_properties_res = launch_and_get_properties.options( # type: ignore + future_get_properties_res = launch_and_get_properties.options( # type: ignore **self.resources, ).remote(self.client_fn, self.cid, ins) - res = ray.worker.get(future_properties_res, timeout=timeout) + res = ray.worker.get(future_get_properties_res, timeout=timeout) return cast( - common.PropertiesRes, + common.GetPropertiesRes, res, ) - def get_parameters(self, timeout: Optional[float]) -> common.ParametersRes: + def get_parameters(self, timeout: Optional[float]) -> common.GetParametersRes: """Return the current local model parameters.""" future_paramseters_res = launch_and_get_parameters.options( # type: ignore **self.resources, ).remote(self.client_fn, self.cid) res = ray.worker.get(future_paramseters_res, timeout=timeout) return cast( - common.ParametersRes, + common.GetParametersRes, res, ) @@ -91,15 +91,15 @@ def reconnect( @ray.remote def launch_and_get_properties( - client_fn: ClientFn, cid: str, properties_ins: common.PropertiesIns -) -> common.PropertiesRes: + client_fn: ClientFn, cid: str, properties_ins: common.GetPropertiesIns +) -> common.GetPropertiesRes: """Exectue get_properties remotely.""" client: Client = _create_client(client_fn, cid) return client.get_properties(properties_ins) @ray.remote -def launch_and_get_parameters(client_fn: ClientFn, cid: str) -> common.ParametersRes: +def launch_and_get_parameters(client_fn: ClientFn, cid: str) -> common.GetParametersRes: """Exectue get_parameters remotely.""" client: Client = _create_client(client_fn, cid) return client.get_parameters() From 6ea15d9e7f42446b5260bfa49e11a6ff8c5f645b Mon Sep 17 00:00:00 2001 From: "Daniel J. Beutel" Date: Thu, 2 Jun 2022 12:24:24 +0200 Subject: [PATCH 3/3] Harmonize naming --- src/py/flwr/client/grpc_client/message_handler.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/py/flwr/client/grpc_client/message_handler.py b/src/py/flwr/client/grpc_client/message_handler.py index b084ffc52efc..ed1f6bc19fde 100644 --- a/src/py/flwr/client/grpc_client/message_handler.py +++ b/src/py/flwr/client/grpc_client/message_handler.py @@ -79,7 +79,7 @@ def _reconnect( def _get_properties( - client: Client, properties_msg: ServerMessage.GetPropertiesIns + client: Client, get_properties_msg: ServerMessage.GetPropertiesIns ) -> ClientMessage: # Check if client overrides get_properties if not has_get_properties(client=client): @@ -95,9 +95,9 @@ def _get_properties( return ClientMessage(get_properties_res=get_properties_res_proto) # Deserialize get_properties instruction - properties_ins = serde.get_properties_ins_from_proto(properties_msg) - # Request for properties - get_properties_res = client.get_properties(properties_ins) + get_properties_ins = serde.get_properties_ins_from_proto(get_properties_msg) + # Request properties + get_properties_res = client.get_properties(get_properties_ins) # Serialize response get_properties_res_proto = serde.get_properties_res_to_proto(get_properties_res) return ClientMessage(get_properties_res=get_properties_res_proto)