def instantiate(self, serializations, servicer):
    serialization_behaviors = _serialization_behaviors_from_serializations(
        serializations)
    invocation_end_link = implementations.invocation_end_link()
    service_end_link = implementations.service_end_link(
        servicer, test_constants.DEFAULT_TIMEOUT,
        test_constants.MAXIMUM_TIMEOUT)
    service_grpc_link = service.service_link(
        serialization_behaviors.request_deserializers,
        serialization_behaviors.response_serializers)
    port = service_grpc_link.add_port('[::]:0', None)
    channel = _intermediary_low.Channel('localhost:%d' % port, None)
    invocation_grpc_link = invocation.invocation_link(
        channel, b'localhost', None,
        serialization_behaviors.request_serializers,
        serialization_behaviors.response_deserializers)

    invocation_end_link.join_link(invocation_grpc_link)
    invocation_grpc_link.join_link(invocation_end_link)
    service_end_link.join_link(service_grpc_link)
    service_grpc_link.join_link(service_end_link)
    invocation_grpc_link.start()
    service_grpc_link.start()
    return invocation_end_link, service_end_link, (
        invocation_grpc_link, service_grpc_link)
    def instantiate(self, methods, method_implementations,
                    multi_method_implementation):
        pool = logging_pool.pool(test_constants.POOL_SIZE)
        servicer = crust_implementations.servicer(method_implementations,
                                                  multi_method_implementation,
                                                  pool)

        service_end_link = core_implementations.service_end_link(
            servicer, test_constants.DEFAULT_TIMEOUT,
            test_constants.MAXIMUM_TIMEOUT)
        invocation_end_link = core_implementations.invocation_end_link()
        invocation_end_link.join_link(service_end_link)
        service_end_link.join_link(invocation_end_link)
        service_end_link.start()
        invocation_end_link.start()

        generic_stub = crust_implementations.generic_stub(
            invocation_end_link, pool)
        # TODO(nathaniel): Add a "groups" attribute to _digest.TestServiceDigest.
        group = next(iter(methods))[0]
        # TODO(nathaniel): Add a "cardinalities_by_group" attribute to
        # _digest.TestServiceDigest.
        cardinalities = {
            method: method_object.cardinality()
            for (group, method), method_object in six.iteritems(methods)
        }
        dynamic_stub = crust_implementations.dynamic_stub(
            invocation_end_link, group, cardinalities, pool)

        return generic_stub, {
            group: dynamic_stub
        }, (invocation_end_link, service_end_link, pool)
  def instantiate(
      self, methods, method_implementations, multi_method_implementation):
    pool = logging_pool.pool(test_constants.POOL_SIZE)
    servicer = crust_implementations.servicer(
        method_implementations, multi_method_implementation, pool)

    service_end_link = core_implementations.service_end_link(
        servicer, test_constants.DEFAULT_TIMEOUT,
        test_constants.MAXIMUM_TIMEOUT)
    invocation_end_link = core_implementations.invocation_end_link()
    invocation_end_link.join_link(service_end_link)
    service_end_link.join_link(invocation_end_link)
    service_end_link.start()
    invocation_end_link.start()

    generic_stub = crust_implementations.generic_stub(invocation_end_link, pool)
    # TODO(nathaniel): Add a "groups" attribute to _digest.TestServiceDigest.
    group = next(iter(methods))[0]
    # TODO(nathaniel): Add a "cardinalities_by_group" attribute to
    # _digest.TestServiceDigest.
    cardinalities = {
        method: method_object.cardinality()
        for (group, method), method_object in methods.iteritems()}
    dynamic_stub = crust_implementations.dynamic_stub(
        invocation_end_link, group, cardinalities, pool)

    return generic_stub, {group: dynamic_stub}, (
        invocation_end_link, service_end_link, pool)
  def instantiate(self, serializations, servicer):
    serialization_behaviors = _serialization_behaviors_from_serializations(
        serializations)
    invocation_end_link = implementations.invocation_end_link()
    service_end_link = implementations.service_end_link(
        servicer, test_constants.DEFAULT_TIMEOUT,
        test_constants.MAXIMUM_TIMEOUT)
    service_grpc_link = service.service_link(
        serialization_behaviors.request_deserializers,
        serialization_behaviors.response_serializers)
    port = service_grpc_link.add_port('[::]:0', None)
    channel = _intermediary_low.Channel('localhost:%d' % port, None)
    invocation_grpc_link = invocation.invocation_link(
        channel, b'localhost', None,
        serialization_behaviors.request_serializers,
        serialization_behaviors.response_deserializers)

    invocation_end_link.join_link(invocation_grpc_link)
    invocation_grpc_link.join_link(invocation_end_link)
    service_end_link.join_link(service_grpc_link)
    service_grpc_link.join_link(service_end_link)
    invocation_grpc_link.start()
    service_grpc_link.start()
    return invocation_end_link, service_end_link, (
        invocation_grpc_link, service_grpc_link)
 def instantiate(self, serializations, servicer):
     invocation = implementations.invocation_end_link()
     service = implementations.service_end_link(
         servicer, test_constants.DEFAULT_TIMEOUT,
         test_constants.MAXIMUM_TIMEOUT)
     invocation.join_link(service)
     service.join_link(invocation)
     return invocation, service, None
Ejemplo n.º 6
0
 def instantiate(self, serializations, servicer):
     invocation = implementations.invocation_end_link()
     service = implementations.service_end_link(
         servicer, test_constants.DEFAULT_TIMEOUT, test_constants.MAXIMUM_TIMEOUT
     )
     invocation.join_link(service)
     service.join_link(invocation)
     return invocation, service, None
Ejemplo n.º 7
0
def _assemble(
    channel, host, metadata_transformer, request_serializers,
    response_deserializers, thread_pool, thread_pool_size, stub_creator):
  end_link = _core_implementations.invocation_end_link()
  grpc_link = invocation.invocation_link(
      channel, host, metadata_transformer, request_serializers,
      response_deserializers)
  stub_assembly_manager = _StubAssemblyManager(
      thread_pool, thread_pool_size, end_link, grpc_link, stub_creator)
  stub = stub_assembly_manager.up()
  return _AutoIntermediary(
      stub_assembly_manager.up, stub_assembly_manager.down, stub)
Ejemplo n.º 8
0
def _assemble(channel, host, metadata_transformer, request_serializers,
              response_deserializers, thread_pool, thread_pool_size,
              stub_creator):
    end_link = _core_implementations.invocation_end_link()
    grpc_link = invocation.invocation_link(channel, host, metadata_transformer,
                                           request_serializers,
                                           response_deserializers)
    stub_assembly_manager = _StubAssemblyManager(thread_pool, thread_pool_size,
                                                 end_link, grpc_link,
                                                 stub_creator)
    stub = stub_assembly_manager.up()
    return _AutoIntermediary(stub_assembly_manager.up,
                             stub_assembly_manager.down, stub)
    def instantiate(self, methods, method_implementations,
                    multi_method_implementation):
        pool = logging_pool.pool(test_constants.POOL_SIZE)
        servicer = crust_implementations.servicer(method_implementations,
                                                  multi_method_implementation,
                                                  pool)
        serialization_behaviors = _serialization_behaviors_from_test_methods(
            methods)
        invocation_end_link = core_implementations.invocation_end_link()
        service_end_link = core_implementations.service_end_link(
            servicer, test_constants.DEFAULT_TIMEOUT,
            test_constants.MAXIMUM_TIMEOUT)
        service_grpc_link = service.service_link(
            serialization_behaviors.request_deserializers,
            serialization_behaviors.response_serializers)
        port = service_grpc_link.add_port('[::]:0', None)
        channel = _intermediary_low.Channel('localhost:%d' % port, None)
        invocation_grpc_link = invocation.invocation_link(
            channel, b'localhost', None,
            serialization_behaviors.request_serializers,
            serialization_behaviors.response_deserializers)

        invocation_end_link.join_link(invocation_grpc_link)
        invocation_grpc_link.join_link(invocation_end_link)
        service_grpc_link.join_link(service_end_link)
        service_end_link.join_link(service_grpc_link)
        service_end_link.start()
        invocation_end_link.start()
        invocation_grpc_link.start()
        service_grpc_link.start()

        generic_stub = crust_implementations.generic_stub(
            invocation_end_link, pool)
        # TODO(nathaniel): Add a "groups" attribute to _digest.TestServiceDigest.
        group = next(iter(methods))[0]
        # TODO(nathaniel): Add a "cardinalities_by_group" attribute to
        # _digest.TestServiceDigest.
        cardinalities = {
            method: method_object.cardinality()
            for (group, method), method_object in six.iteritems(methods)
        }
        dynamic_stub = crust_implementations.dynamic_stub(
            invocation_end_link, group, cardinalities, pool)

        return generic_stub, {
            group: dynamic_stub
        }, (invocation_end_link, invocation_grpc_link, service_grpc_link,
            service_end_link, pool)
  def instantiate(
      self, methods, method_implementations, multi_method_implementation):
    pool = logging_pool.pool(test_constants.POOL_SIZE)
    servicer = crust_implementations.servicer(
        method_implementations, multi_method_implementation, pool)
    serialization_behaviors = _serialization_behaviors_from_test_methods(
        methods)
    invocation_end_link = core_implementations.invocation_end_link()
    service_end_link = core_implementations.service_end_link(
        servicer, test_constants.DEFAULT_TIMEOUT,
        test_constants.MAXIMUM_TIMEOUT)
    service_grpc_link = service.service_link(
        serialization_behaviors.request_deserializers,
        serialization_behaviors.response_serializers)
    port = service_grpc_link.add_port('[::]:0', None)
    channel = _intermediary_low.Channel('localhost:%d' % port, None)
    invocation_grpc_link = invocation.invocation_link(
        channel, b'localhost',
        serialization_behaviors.request_serializers,
        serialization_behaviors.response_deserializers)

    invocation_end_link.join_link(invocation_grpc_link)
    invocation_grpc_link.join_link(invocation_end_link)
    service_grpc_link.join_link(service_end_link)
    service_end_link.join_link(service_grpc_link)
    service_end_link.start()
    invocation_end_link.start()
    invocation_grpc_link.start()
    service_grpc_link.start()

    generic_stub = crust_implementations.generic_stub(invocation_end_link, pool)
    # TODO(nathaniel): Add a "groups" attribute to _digest.TestServiceDigest.
    group = next(iter(methods))[0]
    # TODO(nathaniel): Add a "cardinalities_by_group" attribute to
    # _digest.TestServiceDigest.
    cardinalities = {
        method: method_object.cardinality()
        for (group, method), method_object in methods.iteritems()}
    dynamic_stub = crust_implementations.dynamic_stub(
        invocation_end_link, group, cardinalities, pool)

    return generic_stub, {group: dynamic_stub}, (
        invocation_end_link, invocation_grpc_link, service_grpc_link,
        service_end_link, pool)
Ejemplo n.º 11
0
def _assemble(channel, host, metadata_transformer, request_serializers,
              response_deserializers, thread_pool, thread_pool_size):
    end_link = _core_implementations.invocation_end_link()
    grpc_link = invocation.invocation_link(channel, host, metadata_transformer,
                                           request_serializers,
                                           response_deserializers)
    if thread_pool is None:
        invocation_pool = logging_pool.pool(
            _DEFAULT_POOL_SIZE
            if thread_pool_size is None else thread_pool_size)
        assembly_pool = invocation_pool
    else:
        invocation_pool = thread_pool
        assembly_pool = None
    end_link.join_link(grpc_link)
    grpc_link.join_link(end_link)
    end_link.start()
    grpc_link.start()
    return end_link, grpc_link, invocation_pool, assembly_pool
Ejemplo n.º 12
0
def _assemble(
    channel, host, metadata_transformer, request_serializers,
    response_deserializers, thread_pool, thread_pool_size):
  end_link = _core_implementations.invocation_end_link()
  grpc_link = invocation.invocation_link(
      channel, host, metadata_transformer, request_serializers,
      response_deserializers)
  if thread_pool is None:
    invocation_pool = logging_pool.pool(
        _DEFAULT_POOL_SIZE if thread_pool_size is None else thread_pool_size)
    assembly_pool = invocation_pool
  else:
    invocation_pool = thread_pool
    assembly_pool = None
  end_link.join_link(grpc_link)
  grpc_link.join_link(end_link)
  end_link.start()
  grpc_link.start()
  return end_link, grpc_link, invocation_pool, assembly_pool