org.jgroups.stack

## Class Retransmitter.Task

- java.lang.Object
- - org.jgroups.stack.Retransmitter.Task

All Implemented Interfaces:
  java.lang.Runnable, TimeScheduler.Task

Direct Known Subclasses:
  DefaultRetransmitter.SeqnoTask, RangeBasedRetransmitter.RangeTask

Enclosing class:
  Retransmitter

    protected abstract class Retransmitter.Task
    extends java.lang.Object
    implements TimeScheduler.Task

### Field Summary

Fields
`protected boolean` `cancelled`
`protected Retransmitter.RetransmitCommand` `command`
`protected java.util.concurrent.Future` `future`
`protected Interval` `intervals`
`protected Address` `msg_sender`
`protected int` `num_retransmits`

### Constructor Summary

Constructors
`protected` `Retransmitter.Task(Interval intervals, Retransmitter.RetransmitCommand cmd, Address msg_sender)`

### Method Summary

Methods
`protected abstract void` `callRetransmissionCommand()`
`void` `cancel()`
`void` `doSchedule()`
`int` `getNumRetransmits()`
`long` `nextInterval()`
`void` `run()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### intervals

    protected final Interval intervals

#### future

    protected volatile java.util.concurrent.Future future

#### msg_sender

    protected Address msg_sender

#### num_retransmits

    protected int num_retransmits

#### command

    protected Retransmitter.RetransmitCommand command

#### cancelled

    protected volatile boolean cancelled

### Constructor Detail

#### Retransmitter.Task

    protected Retransmitter.Task(Interval intervals,
                      Retransmitter.RetransmitCommand cmd,
                      Address msg_sender)

### Method Detail

#### getNumRetransmits

    public int getNumRetransmits()

#### nextInterval

    public long nextInterval()

Specified by:
  `nextInterval` in interface `TimeScheduler.Task`
Returns:
  the next scheduled interval. If <= 0 the task will not be re-scheduled

#### doSchedule

    public void doSchedule()

#### cancel

    public void cancel()

#### run

    public void run()

Specified by:
  `run` in interface `java.lang.Runnable`

#### callRetransmissionCommand

    protected abstract void callRetransmissionCommand()