Beispiel #1
0
    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)
Beispiel #3
0
    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
Beispiel #4
0
 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))