use of io.grpc.internal.TransportTracer in project grpc-java by grpc.
the class OkHttpClientTransportTest method customSocketFactory.
@Test
public void customSocketFactory() throws Exception {
RuntimeException exception = new RuntimeException("thrown by socket factory");
SocketFactory socketFactory = new RuntimeExceptionThrowingSocketFactory(exception);
clientTransport = new OkHttpClientTransport(new InetSocketAddress("localhost", 0), "authority", "userAgent", EAG_ATTRS, executor, socketFactory, sslSocketFactory, hostnameVerifier, ConnectionSpec.CLEARTEXT, DEFAULT_MAX_MESSAGE_SIZE, INITIAL_WINDOW_SIZE, NO_PROXY, tooManyPingsRunnable, DEFAULT_MAX_INBOUND_METADATA_SIZE, new TransportTracer(), false);
ManagedClientTransport.Listener listener = mock(ManagedClientTransport.Listener.class);
clientTransport.start(listener);
ArgumentCaptor<Status> captor = ArgumentCaptor.forClass(Status.class);
verify(listener, timeout(TIME_OUT_MS)).transportShutdown(captor.capture());
Status status = captor.getValue();
assertEquals(Status.UNAVAILABLE.getCode(), status.getCode());
assertSame(exception, status.getCause());
}
use of io.grpc.internal.TransportTracer in project grpc-java by grpc.
the class NettyClientTransportTest method newTransport.
private NettyClientTransport newTransport(ProtocolNegotiator negotiator, int maxMsgSize, int maxHeaderListSize, String userAgent, boolean enableKeepAlive, long keepAliveTimeNano, long keepAliveTimeoutNano, ChannelFactory<? extends Channel> channelFactory, EventLoopGroup group) {
if (!enableKeepAlive) {
keepAliveTimeNano = KEEPALIVE_TIME_NANOS_DISABLED;
}
NettyClientTransport transport = new NettyClientTransport(address, channelFactory, new HashMap<ChannelOption<?>, Object>(), group, negotiator, false, DEFAULT_WINDOW_SIZE, maxMsgSize, maxHeaderListSize, keepAliveTimeNano, keepAliveTimeoutNano, false, authority, userAgent, tooManyPingsRunnable, new TransportTracer(), eagAttributes, new SocketPicker(), new FakeChannelLogger(), false);
transports.add(transport);
return transport;
}
Aggregations