Class HeadStreamSinkConduit

java.lang.Object
org.xnio.conduits.AbstractConduit<D>
org.xnio.conduits.AbstractSinkConduit<D>
org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
io.undertow.conduits.HeadStreamSinkConduit
All Implemented Interfaces:
org.xnio.conduits.Conduit, org.xnio.conduits.SinkConduit, org.xnio.conduits.StreamSinkConduit

public final class HeadStreamSinkConduit extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
A conduit that discards all data written to it. This allows head requests to 'just work', as all data written will be discarded.
Author:
Stuart Douglas
  • Constructor Details

    • HeadStreamSinkConduit

      public HeadStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next, ConduitListener<? super HeadStreamSinkConduit> finishListener)
      Construct a new instance.
      Parameters:
      next - the next channel
      finishListener - the listener to call when the channel is closed or the length is reached
    • HeadStreamSinkConduit

      public HeadStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next, ConduitListener<? super HeadStreamSinkConduit> finishListener, boolean shutdownDelegate)
      Construct a new instance.
      Parameters:
      next - the next channel
      finishListener - the listener to call when the channel is closed or the length is reached
  • Method Details

    • write

      public int write(ByteBuffer src) throws IOException
      Specified by:
      write in interface org.xnio.conduits.StreamSinkConduit
      Overrides:
      write in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
      Throws:
      IOException
    • write

      public long write(ByteBuffer[] srcs, int offset, int length) throws IOException
      Specified by:
      write in interface org.xnio.conduits.StreamSinkConduit
      Overrides:
      write in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
      Throws:
      IOException
    • writeFinal

      public int writeFinal(ByteBuffer src) throws IOException
      Specified by:
      writeFinal in interface org.xnio.conduits.StreamSinkConduit
      Overrides:
      writeFinal in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
      Throws:
      IOException
    • writeFinal

      public long writeFinal(ByteBuffer[] srcs, int offset, int length) throws IOException
      Specified by:
      writeFinal in interface org.xnio.conduits.StreamSinkConduit
      Overrides:
      writeFinal in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
      Throws:
      IOException
    • transferFrom

      public long transferFrom(FileChannel src, long position, long count) throws IOException
      Specified by:
      transferFrom in interface org.xnio.conduits.StreamSinkConduit
      Overrides:
      transferFrom in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
      Throws:
      IOException
    • transferFrom

      public long transferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) throws IOException
      Specified by:
      transferFrom in interface org.xnio.conduits.StreamSinkConduit
      Overrides:
      transferFrom in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
      Throws:
      IOException
    • flush

      public boolean flush() throws IOException
      Specified by:
      flush in interface org.xnio.conduits.SinkConduit
      Overrides:
      flush in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
      Throws:
      IOException
    • suspendWrites

      public void suspendWrites()
      Specified by:
      suspendWrites in interface org.xnio.conduits.SinkConduit
      Overrides:
      suspendWrites in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
    • resumeWrites

      public void resumeWrites()
      Specified by:
      resumeWrites in interface org.xnio.conduits.SinkConduit
      Overrides:
      resumeWrites in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
    • isWriteResumed

      public boolean isWriteResumed()
      Specified by:
      isWriteResumed in interface org.xnio.conduits.SinkConduit
      Overrides:
      isWriteResumed in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
    • wakeupWrites

      public void wakeupWrites()
      Specified by:
      wakeupWrites in interface org.xnio.conduits.SinkConduit
      Overrides:
      wakeupWrites in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
    • terminateWrites

      public void terminateWrites() throws IOException
      Specified by:
      terminateWrites in interface org.xnio.conduits.SinkConduit
      Overrides:
      terminateWrites in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>
      Throws:
      IOException