Package com.oracle.coherence.grpc.proxy
Class ResponseHandlers
- java.lang.Object
-
- com.oracle.coherence.grpc.proxy.ResponseHandlers
-
public class ResponseHandlers extends Object
Helper methods to handle gRPC async responses.- Since:
- 23.03
- Author:
- Jonathan Knight 2023.02.02
-
-
Constructor Summary
Constructors Constructor Description ResponseHandlers()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <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
handleMapOfEntries(RequestHolder<?,Map<Binary,Binary>> holder, Throwable err, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer, boolean fDeserialize)
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
handleSetOfEntries(RequestHolder<?,Set<Map.Entry<Binary,Binary>>> holder, Throwable err, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer, boolean fDeserialize)
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 void
handleStreamOfEntries(RequestHolder<?,?> holder, Stream<Map.Entry<Binary,Binary>> entries, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer, boolean fDeserialize)
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
toInt32Value(Object o)
Convert a value to anInt32Value
.
-
-
-
Method Detail
-
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
-
handleMapOfEntries
public static Void handleMapOfEntries(RequestHolder<?,Map<Binary,Binary>> holder, Throwable err, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer, boolean fDeserialize)
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 resultsfDeserialize
- a flag indicating whether theBinary
values should be deserialized- 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 resultsfDeserialize
- a flag indicating whether theBinary
values should be deserialized- 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, boolean fDeserialize)
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 resultsfDeserialize
- a flag indicating whether theBinary
values should be deserialized- 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
-
handleStreamOfEntries
public static void handleStreamOfEntries(RequestHolder<?,?> holder, Stream<Map.Entry<Binary,Binary>> entries, io.grpc.stub.StreamObserver<com.oracle.coherence.grpc.Entry> observer, boolean fDeserialize)
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 resultsfDeserialize
- a flag indicating whether theBinary
values should be deserialized
-
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
public static <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
.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
public 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
.- 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
-
-