ByteQueue (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

org.bouncycastle.crypto.tls

## Class ByteQueue

- java.lang.Object
- - org.bouncycastle.crypto.tls.ByteQueue

-     public class ByteQueue
      extends java.lang.Object

  A queue for bytes. This file could be more optimized.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ByteQueue()`
    `ByteQueue(int capacity)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addData(byte[] buf, int off, int len)` Add some data to our buffer.
    `int` | `available()`
    `static int` | `nextTwoPow(int i)`
    `void` | `read(byte[] buf, int offset, int len, int skip)` Read data from the buffer.
    `void` | `removeData(byte[] buf, int off, int len, int skip)` Remove data from the buffer.
    `void` | `removeData(int i)` Remove some bytes from our data from the beginning.
    `byte[]` | `removeData(int len, int skip)`
    `int` | `size()` Deprecated. Use 'available' instead

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ByteQueue

          public ByteQueue()

    - #### ByteQueue

          public ByteQueue(int capacity)

  - ### Method Detail

    - #### nextTwoPow

          public static int nextTwoPow(int i)

      Returns:
        The smallest number which can be written as 2^x which is bigger than i.

    - #### read

          public void read(byte[] buf,
                  int offset,
                  int len,
                  int skip)

      Read data from the buffer.
      Parameters:
        `buf` - The buffer where the read data will be copied to.
        `offset` - How many bytes to skip at the beginning of buf.
        `len` - How many bytes to read at all.
        `skip` - How many bytes from our data to skip.

    - #### addData

          public void addData(byte[] buf,
                     int off,
                     int len)

      Add some data to our buffer.
      Parameters:
        `buf` - A byte-array to read data from.
        `off` - How many bytes to skip at the beginning of the array.
        `len` - How many bytes to read from the array.

    - #### removeData

          public void removeData(int i)

      Remove some bytes from our data from the beginning.
      Parameters:
        `i` - How many bytes to remove.

    - #### removeData

          public void removeData(byte[] buf,
                        int off,
                        int len,
                        int skip)

      Remove data from the buffer.
      Parameters:
        `buf` - The buffer where the removed data will be copied to.
        `off` - How many bytes to skip at the beginning of buf.
        `len` - How many bytes to read at all.
        `skip` - How many bytes from our data to skip.

    - #### removeData

          public byte[] removeData(int len,
                          int skip)

    - #### size

          public int size()

      Deprecated. Use 'available' instead

    - #### available

          public int available()

      Returns:
        The number of bytes which are available in this buffer.