org.apache.cassandra.service
Class ReadCallback<T>
java.lang.Object
org.apache.cassandra.service.ReadCallback<T>
- All Implemented Interfaces:
- IAsyncCallback, IMessageCallback
- Direct Known Subclasses:
- DatacenterReadCallback
public class ReadCallback<T>
- extends java.lang.Object
- implements IAsyncCallback
Constructor Summary |
ReadCallback(IResponseResolver<T> resolver,
org.apache.cassandra.thrift.ConsistencyLevel consistencyLevel,
IReadCommand command,
java.util.List<java.net.InetAddress> endpoints)
Constructor when response count has to be calculated and blocked for. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected static final org.slf4j.Logger logger
resolver
public final IResponseResolver<T> resolver
condition
protected final SimpleCondition condition
blockfor
protected final int blockfor
received
protected final java.util.concurrent.atomic.AtomicInteger received
ReadCallback
public ReadCallback(IResponseResolver<T> resolver,
org.apache.cassandra.thrift.ConsistencyLevel consistencyLevel,
IReadCommand command,
java.util.List<java.net.InetAddress> endpoints)
- Constructor when response count has to be calculated and blocked for.
preferredEndpoints
protected java.util.List<java.net.InetAddress> preferredEndpoints(java.util.List<java.net.InetAddress> endpoints)
get
public T get()
throws java.util.concurrent.TimeoutException,
DigestMismatchException,
java.io.IOException
- Throws:
java.util.concurrent.TimeoutException
DigestMismatchException
java.io.IOException
response
public void response(Message message)
- Specified by:
response
in interface IAsyncCallback
- Parameters:
message
- response received.
waitingFor
protected boolean waitingFor(Message message)
- Returns:
- true if the message counts towards the blockfor threshold
TODO turn the Message into a response so we don't need two versions of this method
waitingFor
protected boolean waitingFor(ReadResponse response)
- Returns:
- true if the response counts towards the blockfor threshold
response
public void response(ReadResponse result)
maybeResolveForRepair
protected void maybeResolveForRepair()
- Check digests in the background on the Repair stage if we've received replies
too all the requests we sent.
determineBlockFor
public int determineBlockFor(org.apache.cassandra.thrift.ConsistencyLevel consistencyLevel,
java.lang.String table)
assureSufficientLiveNodes
public void assureSufficientLiveNodes()
throws org.apache.cassandra.thrift.UnavailableException
- Throws:
org.apache.cassandra.thrift.UnavailableException
isLatencyForSnitch
public boolean isLatencyForSnitch()
- Specified by:
isLatencyForSnitch
in interface IMessageCallback
- Returns:
- true if this callback is on the read path and its latency should be
given as input to the dynamic snitch.
Copyright © 2011 The Apache Software Foundation