Class ValidSingleResponseCollector<T>
- java.lang.Object
-
- org.infinispan.remoting.transport.ValidSingleResponseCollector<T>
-
- All Implemented Interfaces:
ResponseCollector<T>
public abstract class ValidSingleResponseCollector<T> extends Object implements ResponseCollector<T>
- Since:
- 9.1
- Author:
- Dan Berindei
-
-
Constructor Summary
Constructors Constructor Description ValidSingleResponseCollector()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description T
addResponse(Address sender, Response response)
Called when a response is received, or when a target node becomes unavailable.T
finish()
Called afterResponseCollector.addResponse(Address, Response)
returnsnull
for the last response.protected abstract T
targetNotFound(Address sender)
protected T
withException(Address sender, Exception exception)
protected abstract T
withValidResponse(Address sender, ValidResponse response)
-
-
-
Method Detail
-
addResponse
public final T addResponse(Address sender, Response response)
Description copied from interface:ResponseCollector
Called when a response is received, or when a target node becomes unavailable.When a target node leaves the cluster, this method is called with a
CacheNotFoundResponse
.Should return a non-
null
result if the request should complete, ornull
if it should wait for more responses. If the method throws an exception, the request will be completed with that exception. If the last response is received andaddResponse()
still returnsnull
,ResponseCollector.finish()
will also be called to obtain a result.Thread safety:
addResponse()
will *not* be called concurrently from multiple threads, and the request will not be completed whileaddResponse()
is running.- Specified by:
addResponse
in interfaceResponseCollector<T>
-
finish
public final T finish()
Description copied from interface:ResponseCollector
Called afterResponseCollector.addResponse(Address, Response)
returnsnull
for the last response.If
finish()
finishes normally, the request will complete with its return value (even ifnull
). Iffinish()
throws an exception, the request will complete exceptionally with that exception, wrapped in aCompletionException
(unless the exception is already aCompletionException
).- Specified by:
finish
in interfaceResponseCollector<T>
-
withValidResponse
protected abstract T withValidResponse(Address sender, ValidResponse response)
-
-