use of io.grpc.InternalChannelz.ServerSocketsList in project grpc-java by grpc.
the class ServerImplTest method channelz_transport_membershp.
@Test
public void channelz_transport_membershp() throws Exception {
createAndStartServer();
SimpleServerTransport transport = new SimpleServerTransport();
ServerSocketsList before = builder.channelz.getServerSockets(id(server), id(transport), /*maxPageSize=*/
1);
assertThat(before.sockets).isEmpty();
assertTrue(before.end);
ServerTransportListener listener = transportServer.registerNewServerTransport(transport);
ServerSocketsList added = builder.channelz.getServerSockets(id(server), id(transport), /*maxPageSize=*/
1);
assertThat(added.sockets).containsExactly(transport);
assertTrue(before.end);
listener.transportTerminated();
ServerSocketsList after = builder.channelz.getServerSockets(id(server), id(transport), /*maxPageSize=*/
1);
assertThat(after.sockets).isEmpty();
assertTrue(after.end);
}
use of io.grpc.InternalChannelz.ServerSocketsList in project grpc-java by grpc.
the class ChannelzProtoUtilTest method toGetServerSocketsResponse.
@Test
public void toGetServerSocketsResponse() {
// empty results
assertEquals(GetServerSocketsResponse.getDefaultInstance(), ChannelzProtoUtil.toGetServerSocketsResponse(new ServerSocketsList(Collections.<InternalWithLogId>emptyList(), false)));
// 1 result, paginated
assertEquals(GetServerSocketsResponse.newBuilder().addSocketRef(socketRef).build(), ChannelzProtoUtil.toGetServerSocketsResponse(new ServerSocketsList(ImmutableList.<InternalWithLogId>of(socket), false)));
// 1 result, end
assertEquals(GetServerSocketsResponse.newBuilder().addSocketRef(socketRef).setEnd(true).build(), ChannelzProtoUtil.toGetServerSocketsResponse(new ServerSocketsList(ImmutableList.<InternalWithLogId>of(socket), true)));
TestSocket socket2 = new TestSocket();
// 2 results, end
assertEquals(GetServerSocketsResponse.newBuilder().addSocketRef(socketRef).addSocketRef(ChannelzProtoUtil.toSocketRef(socket2)).setEnd(true).build(), ChannelzProtoUtil.toGetServerSocketsResponse(new ServerSocketsList(ImmutableList.<InternalWithLogId>of(socket, socket2), true)));
}
use of io.grpc.InternalChannelz.ServerSocketsList in project grpc-java by grpc.
the class ChannelzService method getServerSockets.
@Override
public void getServerSockets(GetServerSocketsRequest request, StreamObserver<GetServerSocketsResponse> responseObserver) {
ServerSocketsList serverSockets = channelz.getServerSockets(request.getServerId(), request.getStartSocketId(), maxPageSize);
if (serverSockets == null) {
responseObserver.onError(Status.NOT_FOUND.withDescription("Can't find server " + request.getServerId()).asRuntimeException());
return;
}
GetServerSocketsResponse resp;
try {
resp = ChannelzProtoUtil.toGetServerSocketsResponse(serverSockets);
} catch (StatusRuntimeException e) {
responseObserver.onError(e);
return;
}
responseObserver.onNext(resp);
responseObserver.onCompleted();
}
use of io.grpc.InternalChannelz.ServerSocketsList in project grpc-java by grpc.
the class InternalChannelzTest method assertEmptyServerSocketsPage.
private void assertEmptyServerSocketsPage(long serverId, long socketId) {
ServerSocketsList emptyPage = channelz.getServerSockets(serverId, socketId, /*maxPageSize=*/
1);
assertNotNull(emptyPage);
assertTrue(emptyPage.end);
assertThat(emptyPage.sockets).isEmpty();
}
use of io.grpc.InternalChannelz.ServerSocketsList in project grpc-java by grpc.
the class InternalChannelzTest method serverSocket_eachServerSeparate.
@Test
public void serverSocket_eachServerSeparate() {
InternalInstrumented<ServerStats> server1 = create();
InternalInstrumented<ServerStats> server2 = create();
InternalInstrumented<SocketStats> socket1 = create();
InternalInstrumented<SocketStats> socket2 = create();
channelz.addServer(server1);
channelz.addServer(server2);
channelz.addServerSocket(server1, socket1);
channelz.addServerSocket(server2, socket2);
ServerSocketsList list1 = channelz.getServerSockets(id(server1), /*fromId=*/
0, /*maxPageSize=*/
2);
assertNotNull(list1);
assertTrue(list1.end);
assertThat(list1.sockets).containsExactly(socket1);
ServerSocketsList list2 = channelz.getServerSockets(id(server2), /*fromId=*/
0, /*maxPageSize=*/
2);
assertNotNull(list2);
assertTrue(list2.end);
assertThat(list2.sockets).containsExactly(socket2);
}
Aggregations