Search in sources :

Example 6 with TransportTracer

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());
}
Also used : Status(io.grpc.Status) InternalStatus(io.grpc.InternalStatus) ManagedClientTransport(io.grpc.internal.ManagedClientTransport) SSLSocketFactory(javax.net.ssl.SSLSocketFactory) SocketFactory(javax.net.SocketFactory) InetSocketAddress(java.net.InetSocketAddress) TransportTracer(io.grpc.internal.TransportTracer) Test(org.junit.Test)

Example 7 with TransportTracer

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;
}
Also used : ChannelOption(io.netty.channel.ChannelOption) LocalSocketPicker(io.grpc.netty.NettyChannelBuilder.LocalSocketPicker) TransportTracer(io.grpc.internal.TransportTracer)

Aggregations

TransportTracer (io.grpc.internal.TransportTracer)7 Test (org.junit.Test)4 ManagedClientTransport (io.grpc.internal.ManagedClientTransport)3 LocalSocketPicker (io.grpc.netty.NettyChannelBuilder.LocalSocketPicker)3 ChannelOption (io.netty.channel.ChannelOption)3 InetSocketAddress (java.net.InetSocketAddress)3 InternalStatus (io.grpc.InternalStatus)2 Status (io.grpc.Status)2 TrackingObjectPoolForTest (io.grpc.netty.NettyTestUtil.TrackingObjectPoolForTest)2 IOException (java.io.IOException)2 Stopwatch (com.google.common.base.Stopwatch)1 Supplier (com.google.common.base.Supplier)1 Ticker (com.google.common.base.Ticker)1 Metadata (io.grpc.Metadata)1 StatusException (io.grpc.StatusException)1 ClientTransport (io.grpc.internal.ClientTransport)1 FakeClock (io.grpc.internal.FakeClock)1 StatsTraceContext (io.grpc.internal.StatsTraceContext)1 ChannelConfig (io.netty.channel.ChannelConfig)1 SocketChannelConfig (io.netty.channel.socket.SocketChannelConfig)1