Package 

Class PacketQueue


  • 
    public class PacketQueue<T>
    
                        

    An abstract queue of packets.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      public interface PacketQueue.PacketHandler

      A simple interface to handle packets.

    • Method Summary

      Modifier and Type Method Description
      static boolean getEnableStatisticsDefault()
      static void setEnableStatisticsDefault(boolean enable) Sets the default value for the {@code enableStatistics} constructorparameter.
      void setErrorHandler(@NotNull() ErrorHandler errorHandler) Sets the handler of errors (packets dropped or exceptions caught whileprocessing).
      void add(T pkt) Adds a specific packet ({@code T}) instance to the queue.
      void close() Closes current PacketQueue instance.
      JSONObject getDebugState() Gets a JSON representation of the parts of this object's state thatare deemed useful for debugging.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PacketQueue

        PacketQueue(int capacity, Boolean enableStatistics, String id, PacketQueue.PacketHandler<T> packetHandler, ExecutorService executor)
        Initializes a new PacketQueue instance.
        Parameters:
        capacity - the capacity of the queue.
        enableStatistics - whether detailed statistics should be gathered.This might affect performance.
        id - the ID of the packet queue, to be used for logging.
        packetHandler - An handler to be used by the queue forpackets read from it.
        executor - An executor service to use to executepacketHandler for items added to queue.
    • Method Detail

      • setEnableStatisticsDefault

         static void setEnableStatisticsDefault(boolean enable)

        Sets the default value for the {@code enableStatistics} constructorparameter.

        Parameters:
        enable - the value to set.
      • setErrorHandler

         void setErrorHandler(@NotNull() ErrorHandler errorHandler)

        Sets the handler of errors (packets dropped or exceptions caught whileprocessing).

        Parameters:
        errorHandler - the handler to set.
      • add

         void add(T pkt)

        Adds a specific packet ({@code T}) instance to the queue.

        Parameters:
        pkt - the packet to add.
      • close

         void close()

        Closes current PacketQueue instance. No items will be addedto queue when it's closed. Asynchronous queue processing by asyncQueueHandler is stopped.

      • getDebugState

         JSONObject getDebugState()

        Gets a JSON representation of the parts of this object's state thatare deemed useful for debugging.