Class SingleConnection<StreamRequestT,StreamResponseT,ClientResponseT>
java.lang.Object
com.google.cloud.pubsublite.internal.wire.SingleConnection<StreamRequestT,StreamResponseT,ClientResponseT>
- Type Parameters:
StreamRequestT- The request type sent on the stream.StreamResponseT- The response type sent from the stream.ClientResponseT- The response type sent to the client.
- All Implemented Interfaces:
com.google.api.gax.rpc.ResponseObserver<StreamResponseT>,AutoCloseable
- Direct Known Subclasses:
ConnectedAssignerImpl,ConnectedCommitterImpl
public abstract class SingleConnection<StreamRequestT,StreamResponseT,ClientResponseT>
extends Object
implements com.google.api.gax.rpc.ResponseObserver<StreamResponseT>, AutoCloseable
A SingleConnection handles the state for a stream with an initial connection request that may
only be sent once and needs to wait for a response before sending other requests.
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSingleConnection(StreamFactory<StreamRequestT, StreamResponseT> streamFactory, com.google.api.gax.rpc.ResponseObserver<ClientResponseT> clientStream) protectedSingleConnection(StreamFactory<StreamRequestT, StreamResponseT> streamFactory, com.google.api.gax.rpc.ResponseObserver<ClientResponseT> clientStream, Duration streamIdleTimeout) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()protected abstract voidhandleStreamResponse(StreamResponseT response) protected voidinitialize(StreamRequestT initialRequest) voidvoidvoidonResponse(StreamResponseT response) voidonStart(com.google.api.gax.rpc.StreamController streamController) protected voidsendToClient(ClientResponseT response) protected voidsendToStream(StreamRequestT request) protected voidsetError(CheckedApiException error)
-
Field Details
-
DEFAULT_STREAM_IDLE_TIMEOUT
-
-
Constructor Details
-
SingleConnection
protected SingleConnection(StreamFactory<StreamRequestT, StreamResponseT> streamFactory, com.google.api.gax.rpc.ResponseObserver<ClientResponseT> clientStream, Duration streamIdleTimeout) -
SingleConnection
protected SingleConnection(StreamFactory<StreamRequestT, StreamResponseT> streamFactory, com.google.api.gax.rpc.ResponseObserver<ClientResponseT> clientStream)
-
-
Method Details
-
handleStreamResponse
- Throws:
CheckedApiException
-
initialize
-
sendToStream
-
sendToClient
-
setError
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
onStart
public void onStart(com.google.api.gax.rpc.StreamController streamController) - Specified by:
onStartin interfacecom.google.api.gax.rpc.ResponseObserver<StreamRequestT>
-
onResponse
- Specified by:
onResponsein interfacecom.google.api.gax.rpc.ResponseObserver<StreamRequestT>
-
onError
- Specified by:
onErrorin interfacecom.google.api.gax.rpc.ResponseObserver<StreamRequestT>
-
onComplete
public void onComplete()- Specified by:
onCompletein interfacecom.google.api.gax.rpc.ResponseObserver<StreamRequestT>
-