Example #1
0
  private static <I extends StreamSourceChannel, O extends StreamSinkChannel> void done(
      I source,
      O sink,
      ChannelListener<? super I> sourceListener,
      ChannelListener<? super O> sinkListener) {
    Channels.setReadListener(source, sourceListener);
    if (sourceListener == null) {
      source.suspendReads();
    } else {
      source.wakeupReads();
    }

    Channels.setWriteListener(sink, sinkListener);
    if (sinkListener == null) {
      sink.suspendWrites();
    } else {
      sink.wakeupWrites();
    }
  }