async def set_cardinalities( self, cardinalities: Mapping[placements.PlacementLiteral, int]): serialized_cardinalities = executor_serialization.serialize_cardinalities( cardinalities) request = executor_pb2.SetCardinalitiesRequest( cardinalities=serialized_cardinalities) _request(self._stub.SetCardinalities, request)
def test_serialize_deserialize_clients_alone(self): client_cardinalities = {placement_literals.CLIENTS: 10} cardinalities_list = executor_serialization.serialize_cardinalities( client_cardinalities) for cardinality in cardinalities_list: self.assertIsInstance( cardinality, executor_pb2.SetCardinalitiesRequest.Cardinality) reconstructed_cardinalities = executor_serialization.deserialize_cardinalities( cardinalities_list) self.assertEqual(client_cardinalities, reconstructed_cardinalities)
async def set_cardinalities( self, cardinalities: Mapping[placement_literals.PlacementLiteral, int]): serialized_cardinalities = executor_serialization.serialize_cardinalities( cardinalities) request = executor_pb2.SetCardinalitiesRequest( cardinalities=serialized_cardinalities) if self._bidi_stream is None: _request(self._stub.SetCardinalities, request) else: await self._bidi_stream.send_request( executor_pb2.ExecuteRequest(set_cardinalities=request)) return
def test_serialize_deserialize_clients_and_server_cardinalities_roundtrip( self): client_and_server_cardinalities = { placements.CLIENTS: 10, placements.SERVER: 1 } cardinalities_list = executor_serialization.serialize_cardinalities( client_and_server_cardinalities) for cardinality in cardinalities_list: self.assertIsInstance(cardinality, executor_pb2.SetCardinalitiesRequest.Cardinality) reconstructed_cardinalities = executor_serialization.deserialize_cardinalities( cardinalities_list) self.assertEqual(client_and_server_cardinalities, reconstructed_cardinalities)
def __init__(self, ex_factory: executor_factory.ExecutorFactory, num_clients: int = 0): port = portpicker.pick_unused_port() self._server_pool = logging_pool.pool(max_workers=1) self._server = grpc.server(self._server_pool) self._server.add_insecure_port('[::]:{}'.format(port)) self._service = executor_service.ExecutorService(ex_factory=ex_factory) executor_pb2_grpc.add_ExecutorServicer_to_server(self._service, self._server) self._server.start() self._channel = grpc.insecure_channel('localhost:{}'.format(port)) self._stub = executor_pb2_grpc.ExecutorStub(self._channel) serialized_cards = executor_serialization.serialize_cardinalities( {placement_literals.CLIENTS: num_clients}) self._stub.SetCardinalities( executor_pb2.SetCardinalitiesRequest(cardinalities=serialized_cards))