Package 

Class PacketQueue


  • 
    public class PacketQueue<T>
    
                        

    An abstract queue of packets.

    • Constructor Detail

      • PacketQueue

        PacketQueue(int capacity, Boolean enableStatistics, String id, PacketQueue.PacketHandler<T> packetHandler, ExecutorService executor, Clock clock)
        Initializes a new PacketQueue instance.
        Parameters:
        capacity - the capacity of the queue.
        enableStatistics - whether detailed statistics should be gathered byconstructing an Observer.
        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.
        clock - If {@param enableStatistics} is true (or resolves as true),a clock to use to construct the Observer.
      • 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 gatheredusing a QueueStatisticsObserver as a default queue observer.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.

      • size

         int size()

        Get the current number of packets queued in this queue.

      • capacity

         int capacity()

        Get the maximum number of packets queued in this queue.

      • id

         String id()

        Get the ID of this queue.

      • getDebugState

         JSONObject getDebugState()

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