Class BytesReceivedStreamSourceConduit

  • All Implemented Interfaces:
    org.xnio.conduits.Conduit, org.xnio.conduits.SourceConduit, org.xnio.conduits.StreamSourceConduit

    public class BytesReceivedStreamSourceConduit
    extends org.xnio.conduits.AbstractSourceConduit
    implements org.xnio.conduits.StreamSourceConduit
    Implementation of StreamSourceConduit wrapping that wraps around byte-transferring methods to calculate total number of bytes transferred leveraging LongAdder.
    Since:
    8.0
    Author:
    Radoslav Husar
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static long getBytesReceived()  
      int read​(ByteBuffer dst)  
      long read​(ByteBuffer[] dsts, int offs, int len)  
      long transferTo​(long position, long count, FileChannel target)  
      long transferTo​(long count, ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target)  
      • Methods inherited from class org.xnio.conduits.AbstractSourceConduit

        awaitReadable, awaitReadable, getReadThread, isReadResumed, isReadShutdown, resumeReads, setReadReadyHandler, suspendReads, terminateReads, wakeupReads
      • Methods inherited from class org.xnio.conduits.AbstractConduit

        getWorker
      • Methods inherited from interface org.xnio.conduits.Conduit

        getWorker
      • Methods inherited from interface org.xnio.conduits.SourceConduit

        awaitReadable, awaitReadable, getReadThread, isReadResumed, isReadShutdown, resumeReads, setReadReadyHandler, suspendReads, terminateReads, wakeupReads
    • Constructor Detail

      • BytesReceivedStreamSourceConduit

        public BytesReceivedStreamSourceConduit​(org.xnio.conduits.StreamSourceConduit next)
    • Method Detail

      • transferTo

        public long transferTo​(long position,
                               long count,
                               FileChannel target)
                        throws IOException
        Specified by:
        transferTo in interface org.xnio.conduits.StreamSourceConduit
        Throws:
        IOException
      • transferTo

        public long transferTo​(long count,
                               ByteBuffer throughBuffer,
                               org.xnio.channels.StreamSinkChannel target)
                        throws IOException
        Specified by:
        transferTo in interface org.xnio.conduits.StreamSourceConduit
        Throws:
        IOException
      • read

        public long read​(ByteBuffer[] dsts,
                         int offs,
                         int len)
                  throws IOException
        Specified by:
        read in interface org.xnio.conduits.StreamSourceConduit
        Throws:
        IOException
      • getBytesReceived

        public static long getBytesReceived()