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 Details

  • Constructor Details

  • Method Details

    • addTransferStream

      public void addTransferStream(OutgoingStream stream)
    • complete

      public void complete(int sequenceNumber)
      Received ACK for stream at sequenceNumber.
      Parameters:
      sequenceNumber - sequence number of stream
    • timeout

      public void timeout(int sequenceNumber)
      Received ACK for stream at sequenceNumber.
      Parameters:
      sequenceNumber - sequence number of stream
    • abort

      public void abort()
      Description copied from class: StreamTask
      Abort the task. Subclass should implement cleaning up resources.
      Specified by:
      abort in class StreamTask
    • getTotalNumberOfFiles

      public int getTotalNumberOfFiles()
      Specified by:
      getTotalNumberOfFiles in class StreamTask
      Returns:
      total number of files this task receives/streams.
    • getTotalSize

      public long getTotalSize()
      Specified by:
      getTotalSize in class StreamTask
      Returns:
      total bytes expected to receive
    • getFileMessages

      public Collection<OutgoingStreamMessage> getFileMessages()
    • createMessageForRetry

      public OutgoingStreamMessage createMessageForRetry(int sequenceNumber)
    • scheduleTimeout

      public ScheduledFuture<?> scheduleTimeout(int sequenceNumber, long time, 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 timeout
      unit - unit of given time
      Returns:
      scheduled future for timeout task
    • shutdownAndWait

      public static void shutdownAndWait(long timeout, TimeUnit units) throws InterruptedException, TimeoutException
      Throws:
      InterruptedException
      TimeoutException