Вы всегда можете позвонить onError()
на StreamObserver
, возвращенном заглушкой.Для потоковых RPC на сервере, где заглушка не возвращает StreamObserver
, вы можете запустить RPC внутри Context
.
CancellableContext withCancellation = Context.current().withCancellation();
Context prevCtx = withCancellation.attach();
try {
stub.foo(request, responseObserver);
} finally {
withCancellation.detach(prevCtx);
}
Затем закрытие Context
отменит RPC:
withCancellation.close();