org.bouncycastle.crypto.tls

Class ByteQueue


public class ByteQueue
extends java.lang.Object

A queue for bytes.

This file could be more optimized.

Method Summary

void
addData(byte[] data, int offset, int len)
Add some data to our buffer.
static int
nextTwoPow(int i)
void
read(byte[] buf, int offset, int len, int skip)
Read data from the buffer.
void
removeData(int i)
Remove some bytes from our data from the beginning.
int
size()

Method Details

addData

public void addData(byte[] data,
                    int offset,
                    int len)
Add some data to our buffer.
Parameters:
data - A byte-array to read data from.
offset - How many bytes to skip at the beginning of the array.
len - How many bytes to read from the array.

nextTwoPow

public static final 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.

removeData

public void removeData(int i)
Remove some bytes from our data from the beginning.
Parameters:
i - How many bytes to remove.

size

public int size()
Returns:
The number of bytes which are available in this buffer.