Interface DataOutputPlus

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods 
      Modifier and Type Method Description
      default int bytesLeftInPage()
      Returns how many bytes are left in the page.
      default boolean hasPosition()
      If the implementation supports providing a position, this method returns true, otherwise false.
      default int maxBytesInPage()
      Returns the number of bytes that a page can take at maximum.
      default long paddedPosition()
      Returns the next padded position.
      default void padToPageBoundary()
      Pad this with zeroes until the next page boundary.
      default long position()
      Returns the current position of the underlying target like a file-pointer or the position withing a buffer.
      void write​(java.nio.ByteBuffer buffer)  
      default void write​(ReadableMemory memory, long offset, long length)  
      default void writeMostSignificantBytes​(long register, int bytes)
      An efficient way to write the type bytes of a long
      default void writeUnsignedVInt​(int i)
      Deprecated.
      See CASSANDRA-18099
      default void writeUnsignedVInt​(long i)
      This is more efficient for storing unsigned values, both in storage and CPU burden.
      default void writeUnsignedVInt32​(int i)  
      default void writeVInt​(int i)
      Deprecated.
      See CASSANDRA-18099
      default void writeVInt​(long i)  
      default void writeVInt32​(int i)  
      • Methods inherited from interface java.io.DataOutput

        write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
    • Method Detail

      • write

        void write​(java.nio.ByteBuffer buffer)
            throws java.io.IOException
        Throws:
        java.io.IOException
      • write

        default void write​(ReadableMemory memory,
                           long offset,
                           long length)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • writeVInt

        default void writeVInt​(long i)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • writeVInt

        @Deprecated(since="5.0")
        default void writeVInt​(int i)
        Deprecated.
        See CASSANDRA-18099
      • writeVInt32

        default void writeVInt32​(int i)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • writeUnsignedVInt

        default void writeUnsignedVInt​(long i)
                                throws java.io.IOException
        This is more efficient for storing unsigned values, both in storage and CPU burden. Note that it is still possible to store negative values, they just take up more space. So this method doesn't forbid e.g. negative sentinel values in future, if they need to be snuck in. A protocol version bump can then be introduced to improve efficiency.
        Throws:
        java.io.IOException
      • writeUnsignedVInt

        @Deprecated(since="5.0")
        default void writeUnsignedVInt​(int i)
        Deprecated.
        See CASSANDRA-18099
      • writeUnsignedVInt32

        default void writeUnsignedVInt32​(int i)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • writeMostSignificantBytes

        default void writeMostSignificantBytes​(long register,
                                               int bytes)
                                        throws java.io.IOException
        An efficient way to write the type bytes of a long
        Parameters:
        register - - the long value to be written
        bytes - - the number of bytes the register occupies. Valid values are between 1 and 8 inclusive.
        Throws:
        java.io.IOException
      • position

        default long position()
        Returns the current position of the underlying target like a file-pointer or the position withing a buffer. Not every implementation may support this functionality. Whether or not this functionality is supported can be checked via the hasPosition().
        Throws:
        java.lang.UnsupportedOperationException - if the implementation does not support position
      • hasPosition

        default boolean hasPosition()
        If the implementation supports providing a position, this method returns true, otherwise false.
      • maxBytesInPage

        default int maxBytesInPage()
        Returns the number of bytes that a page can take at maximum.
      • padToPageBoundary

        default void padToPageBoundary()
                                throws java.io.IOException
        Pad this with zeroes until the next page boundary. If the destination position is already at a page boundary, do not do anything.
        Throws:
        java.io.IOException
      • bytesLeftInPage

        default int bytesLeftInPage()
        Returns how many bytes are left in the page.
      • paddedPosition

        default long paddedPosition()
        Returns the next padded position. This is either the current position (if already padded), or the start of next page.