private long availableSequence;
private volatile boolean closed;
public DisruptorReceiveChannel(RingBuffer<Message> buffer, Sequence... dependentSequences) {
this.buffer = buffer;
final Sequencer sequencer = getSequencer(buffer);
final WaitStrategy waitStrategy = getWaitStrategy(sequencer);
final Sequence cursor = getCursor(sequencer);
if (!(waitStrategy instanceof StrandBlockingWaitStrategy))
throw new IllegalArgumentException("Channel can only be created from RingBuffer with StrandBlockingWaitStrategy");