Package org.apache.cassandra.streaming
Class StreamTransferTask
- java.lang.Object
-
- org.apache.cassandra.streaming.StreamTask
-
- org.apache.cassandra.streaming.StreamTransferTask
-
public class StreamTransferTask extends StreamTask
StreamTransferTask sends streams for a given table
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.Integer,OutgoingStreamMessage>streams-
Fields inherited from class org.apache.cassandra.streaming.StreamTask
session, tableId
-
-
Constructor Summary
Constructors Constructor Description StreamTransferTask(StreamSession session, TableId tableId)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort()Abort the task.voidaddTransferStream(OutgoingStream stream)voidcomplete(int sequenceNumber)Received ACK for stream atsequenceNumber.OutgoingStreamMessagecreateMessageForRetry(int sequenceNumber)java.util.Collection<OutgoingStreamMessage>getFileMessages()intgetTotalNumberOfFiles()longgetTotalSize()java.util.concurrent.ScheduledFuture<?>scheduleTimeout(int sequenceNumber, long time, java.util.concurrent.TimeUnit unit)Schedule timeout task to release reference for stream sent.static voidshutdownAndWait(long timeout, java.util.concurrent.TimeUnit units)voidtimeout(int sequenceNumber)Received ACK for stream atsequenceNumber.-
Methods inherited from class org.apache.cassandra.streaming.StreamTask
getSummary
-
-
-
-
Field Detail
-
streams
protected final java.util.Map<java.lang.Integer,OutgoingStreamMessage> streams
-
-
Constructor Detail
-
StreamTransferTask
public StreamTransferTask(StreamSession session, TableId tableId)
-
-
Method Detail
-
addTransferStream
public void addTransferStream(OutgoingStream stream)
-
complete
public void complete(int sequenceNumber)
Received ACK for stream atsequenceNumber.- Parameters:
sequenceNumber- sequence number of stream
-
timeout
public void timeout(int sequenceNumber)
Received ACK for stream atsequenceNumber.- Parameters:
sequenceNumber- sequence number of stream
-
abort
public void abort()
Description copied from class:StreamTaskAbort the task. Subclass should implement cleaning up resources.- Specified by:
abortin classStreamTask
-
getTotalNumberOfFiles
public int getTotalNumberOfFiles()
- Specified by:
getTotalNumberOfFilesin classStreamTask- Returns:
- total number of files this task receives/streams.
-
getTotalSize
public long getTotalSize()
- Specified by:
getTotalSizein classStreamTask- Returns:
- total bytes expected to receive
-
getFileMessages
public java.util.Collection<OutgoingStreamMessage> getFileMessages()
-
createMessageForRetry
public OutgoingStreamMessage createMessageForRetry(int sequenceNumber)
-
scheduleTimeout
public java.util.concurrent.ScheduledFuture<?> scheduleTimeout(int sequenceNumber, long time, java.util.concurrent.TimeUnit unit)Schedule timeout task to release reference for stream sent. When not receiving ACK after sending to receiver in given time, the task will release reference.- Parameters:
sequenceNumber- sequence number of stream sent.time- time to timeoutunit- unit of given time- Returns:
- scheduled future for timeout task
-
shutdownAndWait
public static void shutdownAndWait(long timeout, java.util.concurrent.TimeUnit units) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.TimeoutException
-
-