Package com.oracle.coherence.grpc.proxy
Class ResponseHandlers
java.lang.Object
com.oracle.coherence.grpc.proxy.ResponseHandlers
Helper methods to handle gRPC async responses.
- Since:
- 23.03
- Author:
- Jonathan Knight 2023.02.02
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <Resp> Void
handleError
(Throwable err, io.grpc.stub.StreamObserver<Resp> observer) A handler method that will callStreamObserver.onError(Throwable)
if the error parameter is notnull
.static <Resp> Resp
handleError
(Resp response, Throwable err) A handler method that will return the response if there is no error or if there is an error then ensure that it is aStatusRuntimeException
.static <Resp> Void
handleErrorOrComplete
(Throwable err, io.grpc.stub.StreamObserver<Resp> observer) A handler method that will callStreamObserver.onError(Throwable)
if the error parameter is notnull
otherwise callsStreamObserver.onCompleted()
.static Void
handleMapOfEntries
(RequestHolder<?, Map<Binary, Binary>> holder, Throwable err, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer) Handle the result of the asynchronous invoke all request sending the results, or any errors to theStreamObserver
.static Void
handleSetOfEntries
(RequestHolder<?, Set<Map.Entry<Binary, Binary>>> holder, Throwable err, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer) Handle the result of the asynchronous entry set request sending the results, or any errors to theStreamObserver
.static Void
handleStream
(RequestHolder<?, ? extends Iterable<Binary>> holder, Throwable err, io.grpc.stub.StreamObserver<com.google.protobuf.BytesValue> observer) static <Resp> Void
handleStream
(Iterable<Resp> iterable, Throwable err, io.grpc.stub.StreamObserver<Resp> observer) A handler method that streams results from anIterable
to aStreamObserver
and completes theStreamObserver
, or if an error is provided callsStreamObserver.onError(Throwable)
.static <Resp> Void
handleStream
(Stream<Resp> stream, Throwable err, io.grpc.stub.StreamObserver<Resp> observer) A handler method that streams results to aStreamObserver
and completes theStreamObserver
or if an error is provided callsStreamObserver.onError(Throwable)
.static void
handleStreamOfEntries
(RequestHolder<?, ?> holder, Stream<Map.Entry<Binary, Binary>> entries, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer) Handle the result of the asynchronous invoke all request sending the results, or any errors to theStreamObserver
.static <R> Void
handleUnary
(R result, Throwable err, io.grpc.stub.StreamObserver<R> observer) Handle an unary request.static com.google.protobuf.Int32Value
Convert a value to anInt32Value
.
-
Field Details
-
VOID
AVoid
value to make it obvious the return value in Void methods.
-
-
Constructor Details
-
ResponseHandlers
public ResponseHandlers()
-
-
Method Details
-
handleUnary
public static <R> Void handleUnary(R result, Throwable err, io.grpc.stub.StreamObserver<R> observer) Handle an unary request.- Type Parameters:
R
- the type of the result- Parameters:
result
- the resulterr
- any error that may have occurredobserver
- theStreamObserver
to send the result to- Returns:
- always returns
Void
-
handleMapOfEntries
public static Void handleMapOfEntries(RequestHolder<?, Map<Binary, Binary>> holder, Throwable err, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer) Handle the result of the asynchronous invoke all request sending the results, or any errors to theStreamObserver
.- Parameters:
holder
- theRequestHolder
containing the requesterr
- any error that occurred during execution of the get all requestobserver
- theStreamObserver
to receive the results- Returns:
- always return
Void
-
handleSetOfEntries
public static Void handleSetOfEntries(RequestHolder<?, Set<Map.Entry<Binary, Binary>>> holder, Throwable err, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer) Handle the result of the asynchronous entry set request sending the results, or any errors to theStreamObserver
.- Parameters:
holder
- theRequestHolder
containing the requesterr
- any error that occurred during execution of the get all requestobserver
- theStreamObserver
to receive the results- Returns:
- always return
Void
-
handleStreamOfEntries
public static void handleStreamOfEntries(RequestHolder<?, ?> holder, Stream<Map.Entry<Binary, Binary>> entries, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer) Handle the result of the asynchronous invoke all request sending the results, or any errors to theStreamObserver
.- Parameters:
holder
- theRequestHolder
containing the requestentries
- aStream
of entriesobserver
- theStreamObserver
to receive the results
-
handleStream
public static Void handleStream(RequestHolder<?, ? extends Iterable<Binary>> holder, Throwable err, io.grpc.stub.StreamObserver<com.google.protobuf.BytesValue> observer) Send anIterable
ofBinary
instances to aStreamObserver
, converting theBinary
instances to aBytesValue
.- Parameters:
holder
- theRequestHolder
containing the request andIterable
orBinary
instances to streamerr
- the error the pass toStreamObserver.onError(Throwable)
observer
- theStreamObserver
to receive the results- Returns:
- always return
Void
-
handleStream
public static <Resp> Void handleStream(Iterable<Resp> iterable, Throwable err, io.grpc.stub.StreamObserver<Resp> observer) A handler method that streams results from anIterable
to aStreamObserver
and completes theStreamObserver
, or if an error is provided callsStreamObserver.onError(Throwable)
.Note: this method will complete by calling either
StreamObserver.onCompleted()
orStreamObserver.onError(Throwable)
.- Type Parameters:
Resp
- the type of the element to stream to theStreamObserver
- Parameters:
iterable
- the elements to stream to theStreamObserver
err
- the error the pass toStreamObserver.onError(Throwable)
observer
- theStreamObserver
- Returns:
- always returns
Void
-
handleStream
public static <Resp> Void handleStream(Stream<Resp> stream, Throwable err, io.grpc.stub.StreamObserver<Resp> observer) A handler method that streams results to aStreamObserver
and completes theStreamObserver
or if an error is provided callsStreamObserver.onError(Throwable)
.Note: this method will complete by calling either
StreamObserver.onCompleted()
orStreamObserver.onError(Throwable)
.- Type Parameters:
Resp
- the type of the element to stream to theStreamObserver
- Parameters:
stream
- the elements to stream to theStreamObserver
err
- the error the pass toStreamObserver.onError(Throwable)
observer
- theStreamObserver
- Returns:
- always returns
Void
-
handleError
A handler method that will callStreamObserver.onError(Throwable)
if the error parameter is notnull
.NOTE: this method will not complete the
StreamObserver
if there is no error.- Type Parameters:
Resp
- the type of the element to stream to theStreamObserver
- Parameters:
err
- the error the pass toStreamObserver.onError(Throwable)
observer
- theStreamObserver
- Returns:
- always returns
Void
-
handleErrorOrComplete
public static <Resp> Void handleErrorOrComplete(Throwable err, io.grpc.stub.StreamObserver<Resp> observer) A handler method that will callStreamObserver.onError(Throwable)
if the error parameter is notnull
otherwise callsStreamObserver.onCompleted()
.NOTE: this method will not complete the
StreamObserver
if there is no error.- Type Parameters:
Resp
- the type of the element to stream to theStreamObserver
- Parameters:
err
- the error the pass toStreamObserver.onError(Throwable)
observer
- theStreamObserver
- Returns:
- always returns
Void
-
handleError
A handler method that will return the response if there is no error or if there is an error then ensure that it is aStatusRuntimeException
.- Type Parameters:
Resp
- the type of the response- Parameters:
response
- the response to return if there is no errorerr
- the error to check- Returns:
- always returns the passed in response
-
toInt32Value
Convert a value to anInt32Value
.- Parameters:
o
- the value to convert- Returns:
- the value of
o
as anInt32Value
ido
is aNumber
, otherwiseInt32Value.getDefaultInstance()
-