java.lang.Object
org.neo4j.driver.internal.handlers.RoutingResponseHandler
- All Implemented Interfaces:
ResponseHandler
-
Constructor Summary
ConstructorsConstructorDescriptionRoutingResponseHandler(ResponseHandler delegate, org.neo4j.driver.internal.BoltServerAddress address, AccessMode accessMode, org.neo4j.driver.internal.RoutingErrorHandler errorHandler) -
Method Summary
Modifier and TypeMethodDescriptionbooleanTells whether this response handler is able to manage auto-read of the underlying connection usingConnection.enableAutoRead()andConnection.disableAutoRead().voidIf this response handler is able to manage auto-read of the underlying connection, then this method signals it to stop changing auto-read setting for the connection.voidvoidvoid
-
Constructor Details
-
RoutingResponseHandler
public RoutingResponseHandler(ResponseHandler delegate, org.neo4j.driver.internal.BoltServerAddress address, AccessMode accessMode, org.neo4j.driver.internal.RoutingErrorHandler errorHandler)
-
-
Method Details
-
onSuccess
- Specified by:
onSuccessin interfaceResponseHandler
-
onFailure
- Specified by:
onFailurein interfaceResponseHandler
-
onRecord
- Specified by:
onRecordin interfaceResponseHandler
-
canManageAutoRead
public boolean canManageAutoRead()Description copied from interface:ResponseHandlerTells whether this response handler is able to manage auto-read of the underlying connection usingConnection.enableAutoRead()andConnection.disableAutoRead().Implementations can use auto-read management to apply network-level backpressure when receiving a stream of records. There should only be a single such handler active for a connection at one point in time. Otherwise, handlers can interfere and turn on/off auto-read racing with each other.
InboundMessageDispatcheris responsible for tracking these handlers and disabling auto-read management to maintain just a single auto-read managing handler per connection.- Specified by:
canManageAutoReadin interfaceResponseHandler
-
disableAutoReadManagement
public void disableAutoReadManagement()Description copied from interface:ResponseHandlerIf this response handler is able to manage auto-read of the underlying connection, then this method signals it to stop changing auto-read setting for the connection.- Specified by:
disableAutoReadManagementin interfaceResponseHandler
-