use of org.apache.bookkeeper.stream.proto.storage.GetStorageContainerEndpointResponse in project bookkeeper by apache.
the class TestProtocolInternalUtils method testCreateStorageContainerEndpointResponse.
@Test
public void testCreateStorageContainerEndpointResponse() {
List<StorageContainerEndpoint> endpoints = Lists.newArrayList(StorageContainerEndpoint.newBuilder().setStorageContainerId(1L).build(), StorageContainerEndpoint.newBuilder().setStorageContainerId(2L).build(), StorageContainerEndpoint.newBuilder().setStorageContainerId(3L).build());
GetStorageContainerEndpointResponse response = createGetStorageContainerEndpointResponse(endpoints);
assertEquals(3, response.getResponsesCount());
int i = 0;
for (OneStorageContainerEndpointResponse oneResp : response.getResponsesList()) {
assertEquals(StatusCode.SUCCESS, oneResp.getStatusCode());
assertTrue(endpoints.get(i) == oneResp.getEndpoint());
++i;
}
}
use of org.apache.bookkeeper.stream.proto.storage.GetStorageContainerEndpointResponse in project bookkeeper by apache.
the class ProtoUtils method createGetStorageContainerEndpointResponse.
/**
* Create a {@link GetStorageContainerEndpointResponse}.
*
* @param endpoints list of storage container endpoints
* @return a get storage container endpoint response.
*/
public static GetStorageContainerEndpointResponse createGetStorageContainerEndpointResponse(List<StorageContainerEndpoint> endpoints) {
GetStorageContainerEndpointResponse.Builder builder = GetStorageContainerEndpointResponse.newBuilder();
builder.setStatusCode(StatusCode.SUCCESS);
for (StorageContainerEndpoint endpoint : endpoints) {
builder.addResponses(OneStorageContainerEndpointResponse.newBuilder().setStatusCode(StatusCode.SUCCESS).setEndpoint(endpoint));
}
return builder.build();
}
use of org.apache.bookkeeper.stream.proto.storage.GetStorageContainerEndpointResponse in project bookkeeper by apache.
the class GrpcStorageContainerService method getStorageContainerEndpoint.
@Override
public void getStorageContainerEndpoint(GetStorageContainerEndpointRequest request, StreamObserver<GetStorageContainerEndpointResponse> responseObserver) {
GetStorageContainerEndpointResponse.Builder responseBuilder = GetStorageContainerEndpointResponse.newBuilder().setStatusCode(StatusCode.SUCCESS);
for (int i = 0; i < request.getRequestsCount(); i++) {
Endpoint endpoint = rangeStore.getRoutingService().getStorageContainer(request.getRequests(i).getStorageContainer());
OneStorageContainerEndpointResponse.Builder oneRespBuilder;
if (null != endpoint) {
oneRespBuilder = OneStorageContainerEndpointResponse.newBuilder().setStatusCode(StatusCode.SUCCESS).setEndpoint(StorageContainerEndpoint.newBuilder().setRwEndpoint(endpoint).addRoEndpoint(endpoint).setRevision(0L));
} else {
oneRespBuilder = OneStorageContainerEndpointResponse.newBuilder().setStatusCode(StatusCode.INTERNAL_SERVER_ERROR);
}
responseBuilder = responseBuilder.addResponses(oneRespBuilder);
}
responseObserver.onNext(responseBuilder.build());
responseObserver.onCompleted();
}
use of org.apache.bookkeeper.stream.proto.storage.GetStorageContainerEndpointResponse in project bookkeeper by apache.
the class GrpcClientTestBase method setUp.
@Before
public void setUp() throws Exception {
fakeServer = InProcessServerBuilder.forName(serverName).fallbackHandlerRegistry(serviceRegistry).directExecutor().build().start();
scheduler = OrderedScheduler.newSchedulerBuilder().name("scheduler-" + getClass()).numThreads(Runtime.getRuntime().availableProcessors()).build();
settings = StorageClientSettings.newBuilder().managedChannelBuilder(InProcessChannelBuilder.forName(serverName).directExecutor()).usePlaintext(true).build();
serverManager = new StorageServerClientManagerImpl(settings, resources.scheduler(), endpoint -> new StorageServerChannel(InProcessChannelBuilder.forName(serverName).directExecutor().build(), Optional.empty()));
StorageContainerServiceImplBase scService = new StorageContainerServiceImplBase() {
@Override
public void getStorageContainerEndpoint(GetStorageContainerEndpointRequest request, StreamObserver<GetStorageContainerEndpointResponse> responseObserver) {
GetStorageContainerEndpointResponse.Builder respBuilder = GetStorageContainerEndpointResponse.newBuilder();
respBuilder.setStatusCode(StatusCode.SUCCESS);
for (OneStorageContainerEndpointRequest oneReq : request.getRequestsList()) {
OneStorageContainerEndpointResponse oneResp = OneStorageContainerEndpointResponse.newBuilder().setEndpoint(StorageContainerEndpoint.newBuilder().setStorageContainerId(oneReq.getStorageContainer()).setRevision(oneReq.getRevision() + 1).setRwEndpoint(ENDPOINT)).build();
respBuilder.addResponses(oneResp);
}
responseObserver.onNext(respBuilder.build());
responseObserver.onCompleted();
}
};
serviceRegistry.addService(scService.bindService());
doSetup();
}
Aggregations