类io.grpc.internal.NoopServerCall源码实例Demo

下面列出了怎么用io.grpc.internal.NoopServerCall的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: grpc-nebula-java   文件: BinaryLogProviderTest.java
private static <ReqT, RespT> ServerCall.Listener<ReqT> startServerCallHelper(
    final ServerMethodDefinition<ReqT, RespT> methodDef,
    final List<Object> serializedResp) {
  ServerCall<ReqT, RespT> serverCall = new NoopServerCall<ReqT, RespT>() {
    @Override
    public void sendMessage(RespT message) {
      serializedResp.add(message);
    }

    @Override
    public MethodDescriptor<ReqT, RespT> getMethodDescriptor() {
      return methodDef.getMethodDescriptor();
    }
  };
  return methodDef.getServerCallHandler().startCall(serverCall, new Metadata());
}
 
源代码2 项目: grpc-nebula-java   文件: ServerInterceptorsTest.java
@Test
public void argumentsPassed() {
  @SuppressWarnings("unchecked")
  final ServerCall<String, Integer> call2 = new NoopServerCall<String, Integer>();
  @SuppressWarnings("unchecked")
  final ServerCall.Listener<String> listener2 = mock(ServerCall.Listener.class);

  ServerInterceptor interceptor = new ServerInterceptor() {
      @SuppressWarnings("unchecked") // Lot's of casting for no benefit.  Not intended use.
      @Override
      public <R1, R2> ServerCall.Listener<R1> interceptCall(
          ServerCall<R1, R2> call,
          Metadata headers,
          ServerCallHandler<R1, R2> next) {
        assertSame(call, ServerInterceptorsTest.this.call);
        assertSame(listener,
            next.startCall((ServerCall<R1, R2>)call2, headers));
        return (ServerCall.Listener<R1>) listener2;
      }
    };
  ServerServiceDefinition intercepted = ServerInterceptors.intercept(
      serviceDefinition, Arrays.asList(interceptor));
  assertSame(listener2,
      getSoleMethod(intercepted).getServerCallHandler().startCall(call, headers));
  verify(handler).startCall(call2, headers);
}
 
源代码3 项目: grpc-java   文件: ServerInterceptorsTest.java
@Test
public void argumentsPassed() {
  @SuppressWarnings("unchecked")
  final ServerCall<String, Integer> call2 = new NoopServerCall<>();
  @SuppressWarnings("unchecked")
  final ServerCall.Listener<String> listener2 = mock(ServerCall.Listener.class);

  ServerInterceptor interceptor = new ServerInterceptor() {
      @SuppressWarnings("unchecked") // Lot's of casting for no benefit.  Not intended use.
      @Override
      public <R1, R2> ServerCall.Listener<R1> interceptCall(
          ServerCall<R1, R2> call,
          Metadata headers,
          ServerCallHandler<R1, R2> next) {
        assertSame(call, ServerInterceptorsTest.this.call);
        assertSame(listener,
            next.startCall((ServerCall<R1, R2>)call2, headers));
        return (ServerCall.Listener<R1>) listener2;
      }
    };
  ServerServiceDefinition intercepted = ServerInterceptors.intercept(
      serviceDefinition, Arrays.asList(interceptor));
  assertSame(listener2,
      getSoleMethod(intercepted).getServerCallHandler().startCall(call, headers));
  verify(handler).startCall(call2, headers);
}
 
源代码4 项目: grpc-java   文件: BinaryLogProviderTest.java
private static <ReqT, RespT> ServerCall.Listener<ReqT> startServerCallHelper(
    final ServerMethodDefinition<ReqT, RespT> methodDef,
    final List<Object> serializedResp) {
  ServerCall<ReqT, RespT> serverCall = new NoopServerCall<ReqT, RespT>() {
    @Override
    public void sendMessage(RespT message) {
      serializedResp.add(message);
    }

    @Override
    public MethodDescriptor<ReqT, RespT> getMethodDescriptor() {
      return methodDef.getMethodDescriptor();
    }
  };
  return methodDef.getServerCallHandler().startCall(serverCall, new Metadata());
}
 
@Test
public void schedule() {

    StreamExecutorRejectedExecutionRequestScheduler scheduler = new StreamExecutorRejectedExecutionRequestScheduler(scheduledExecutorService, 1000, 10);
    StreamExecutorRejectedExecutionRequestScheduler.Listener listener = scheduler.schedule(new NoopServerCall());
    assertEquals(0, listener.getRejectedExecutionCount());
    listener.onRejectedExecution();
    assertEquals(1, listener.getRejectedExecutionCount());

    ScheduledFuture scheduledFuture = listener.getRequestScheduledFuture();
    assertFalse(scheduledFuture.isCancelled());
    listener.onCancel();
    assertTrue(scheduledFuture.isCancelled());
}
 
源代码6 项目: grpc-nebula-java   文件: BinlogHelperTest.java
@Test
@SuppressWarnings({"rawtypes", "unchecked"})
public void serverDeadlineLogged() {
  final AtomicReference<ServerCall> interceptedCall =
      new AtomicReference<ServerCall>();
  final ServerCall.Listener mockListener = mock(ServerCall.Listener.class);

  final MethodDescriptor<byte[], byte[]> method =
      MethodDescriptor.<byte[], byte[]>newBuilder()
          .setType(MethodType.UNKNOWN)
          .setFullMethodName("service/method")
          .setRequestMarshaller(BYTEARRAY_MARSHALLER)
          .setResponseMarshaller(BYTEARRAY_MARSHALLER)
          .build();

  // We expect the contents of the "grpc-timeout" header to be installed the context
  Context.current()
      .withDeadlineAfter(1, TimeUnit.SECONDS, Executors.newSingleThreadScheduledExecutor())
      .run(new Runnable() {
        @Override
        public void run() {
          ServerCall.Listener<byte[]> unused =
              new BinlogHelper(mockSinkWriter)
                  .getServerInterceptor(CALL_ID)
                  .interceptCall(
                      new NoopServerCall<byte[], byte[]>() {
                        @Override
                        public MethodDescriptor<byte[], byte[]> getMethodDescriptor() {
                          return method;
                        }
                      },
                      new Metadata(),
                      new ServerCallHandler<byte[], byte[]>() {
                        @Override
                        public ServerCall.Listener<byte[]> startCall(
                            ServerCall<byte[], byte[]> call,
                            Metadata headers) {
                          interceptedCall.set(call);
                          return mockListener;
                        }
                      });
        }
      });
  ArgumentCaptor<Duration> timeoutCaptor = ArgumentCaptor.forClass(Duration.class);
  verify(mockSinkWriter).logClientHeader(
      /*seq=*/ eq(1L),
      eq("service/method"),
      isNull(String.class),
      timeoutCaptor.capture(),
      any(Metadata.class),
      eq(Logger.LOGGER_SERVER),
      eq(CALL_ID),
      isNull(SocketAddress.class));
  verifyNoMoreInteractions(mockSinkWriter);
  Duration timeout = timeoutCaptor.getValue();
  assertThat(TimeUnit.SECONDS.toNanos(1) - Durations.toNanos(timeout))
      .isAtMost(TimeUnit.MILLISECONDS.toNanos(250));
}
 
源代码7 项目: grpc-java   文件: BinlogHelperTest.java
@Test
@SuppressWarnings({"rawtypes", "unchecked"})
public void serverDeadlineLogged() {
  final AtomicReference<ServerCall> interceptedCall =
      new AtomicReference<>();
  final ServerCall.Listener mockListener = mock(ServerCall.Listener.class);

  final MethodDescriptor<byte[], byte[]> method =
      MethodDescriptor.<byte[], byte[]>newBuilder()
          .setType(MethodType.UNKNOWN)
          .setFullMethodName("service/method")
          .setRequestMarshaller(BYTEARRAY_MARSHALLER)
          .setResponseMarshaller(BYTEARRAY_MARSHALLER)
          .build();

  // We expect the contents of the "grpc-timeout" header to be installed the context
  Context.current()
      .withDeadlineAfter(1, TimeUnit.SECONDS, Executors.newSingleThreadScheduledExecutor())
      .run(new Runnable() {
        @Override
        public void run() {
          ServerCall.Listener<byte[]> unused =
              new BinlogHelper(mockSinkWriter)
                  .getServerInterceptor(CALL_ID)
                  .interceptCall(
                      new NoopServerCall<byte[], byte[]>() {
                        @Override
                        public MethodDescriptor<byte[], byte[]> getMethodDescriptor() {
                          return method;
                        }
                      },
                      new Metadata(),
                      new ServerCallHandler<byte[], byte[]>() {
                        @Override
                        public ServerCall.Listener<byte[]> startCall(
                            ServerCall<byte[], byte[]> call,
                            Metadata headers) {
                          interceptedCall.set(call);
                          return mockListener;
                        }
                      });
        }
      });
  ArgumentCaptor<Duration> timeoutCaptor = ArgumentCaptor.forClass(Duration.class);
  verify(mockSinkWriter).logClientHeader(
      /*seq=*/ eq(1L),
      eq("service/method"),
      ArgumentMatchers.<String>isNull(),
      timeoutCaptor.capture(),
      any(Metadata.class),
      eq(Logger.LOGGER_SERVER),
      eq(CALL_ID),
      ArgumentMatchers.<SocketAddress>isNull());
  verifyNoMoreInteractions(mockSinkWriter);
  Duration timeout = timeoutCaptor.getValue();
  assertThat(TimeUnit.SECONDS.toNanos(1) - Durations.toNanos(timeout))
      .isAtMost(TimeUnit.MILLISECONDS.toNanos(250));
}
 
 类所在包
 同包方法