mirror of https://github.com/grpc/grpc-java.git
core: add server transports to channelz (#4149)
A previous PR added client transports, this PR adds server transports.
This commit is contained in:
parent
4dc1b50e1a
commit
09d305c3fc
|
|
@ -380,6 +380,7 @@ public final class ServerImpl extends io.grpc.Server implements Instrumented<Ser
|
|||
@Override public void run() {}
|
||||
}, null);
|
||||
}
|
||||
channelz.addTransport(transport);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -397,6 +398,7 @@ public final class ServerImpl extends io.grpc.Server implements Instrumented<Ser
|
|||
|
||||
@Override
|
||||
public void transportTerminated() {
|
||||
try {
|
||||
if (handshakeTimeoutFuture != null) {
|
||||
handshakeTimeoutFuture.cancel(false);
|
||||
handshakeTimeoutFuture = null;
|
||||
|
|
@ -405,6 +407,9 @@ public final class ServerImpl extends io.grpc.Server implements Instrumented<Ser
|
|||
filter.transportTerminated(attributes);
|
||||
}
|
||||
transportClosed(transport);
|
||||
} finally {
|
||||
channelz.removeTransport(transport);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1380,6 +1380,19 @@ public class ServerImplTest {
|
|||
assertEquals(1, server.getStats().get().callsSucceeded);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void channelz_transport_membershp() throws Exception {
|
||||
createAndStartServer();
|
||||
SimpleServerTransport transport = new SimpleServerTransport();
|
||||
|
||||
assertFalse(builder.channelz.containsTransport(transport.getLogId()));
|
||||
ServerTransportListener listener
|
||||
= transportServer.registerNewServerTransport(transport);
|
||||
assertTrue(builder.channelz.containsTransport(transport.getLogId()));
|
||||
listener.transportTerminated();
|
||||
assertFalse(builder.channelz.containsTransport(transport.getLogId()));
|
||||
}
|
||||
|
||||
private void createAndStartServer() throws IOException {
|
||||
createServer();
|
||||
server.start();
|
||||
|
|
@ -1445,6 +1458,7 @@ public class ServerImplTest {
|
|||
|
||||
private class SimpleServerTransport implements ServerTransport {
|
||||
ServerTransportListener listener;
|
||||
LogId id = LogId.allocate(getClass().getName());
|
||||
|
||||
@Override
|
||||
public void shutdown() {
|
||||
|
|
@ -1458,7 +1472,7 @@ public class ServerImplTest {
|
|||
|
||||
@Override
|
||||
public LogId getLogId() {
|
||||
throw new UnsupportedOperationException();
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue