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.ScheduledFuturescheduleTimeout(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)-
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
-
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
-
-