Class ByteFifo


  • public class ByteFifo
    extends Object
    First in first out byte queue. The size of the queue should be a multiple of 2 minus one (size = 2^x - 1).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) byte[] data  
      (package private) int head  
      (package private) int size  
      (package private) int tail  
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteFifo​(int size)
      Creates a new ByteFifo with size entries.
    • Field Detail

      • data

        byte[] data
      • head

        int head
      • tail

        int tail
      • size

        int size
    • Constructor Detail

      • ByteFifo

        public ByteFifo​(int size)
        Creates a new ByteFifo with size entries.
        Parameters:
        size - The size of the queue (size = 2^x - 1)
    • Method Detail

      • enqueue

        public void enqueue​(byte data)
        Inserts one byte into the queue.
        Parameters:
        data - Byte which will be inserted into the queue
      • dequeue

        public byte dequeue()
                     throws IOException
        Removes one byte from the queue.
        Returns:
        The removed byte.
        Throws:
        IOException - if reading from an empty queue.
      • clear

        public void clear()
        Clears the queue.
      • availToRead

        public int availToRead()
        Reads the available entries in the queue.
        Returns:
        The available bytes to read.
      • availToWrite

        public int availToWrite()
        Reads the available space left in the queue.
        Returns:
        The available queue space.
      • getSize

        public int getSize()
        Reads the maximum number of entries in the queue.
        Returns:
        The size of the queue.