boolean hasMessage = eventLoopCallback.connection.readBufferedMessage(requestBuilder);
if (!hasMessage) {
break;
}
RpcRequest request = requestBuilder.build();
// System.out.println(request.getMethodName() + " " + request.getRequest().size());
// Handle the request
ProtoMethodInvoker invoker = serviceRegistry.getInvoker(request.getMethodName());
// TODO: Reuse callback objects?
ProtoServerCallback callback =
new ProtoServerCallback(eventLoopCallback, request.getSequenceNumber());
try {
invoker.invoke(callback.controller, request.getRequest(), callback);
} catch (InvalidProtocolBufferException e) {
throw new RuntimeException(e);
}
}
}