Interface AsynchronousManager

All Known Implementing Classes:
AsyncFilterManager

public interface AsynchronousManager
Represents a asynchronous packet handler.
  • Method Details

    • registerAsyncHandler

      AsyncListenerHandler registerAsyncHandler(PacketListener listener)
      Registers an asynchronous packet handler.

      Use AsyncMarker.incrementProcessingDelay() to delay a packet until its ready to be transmitted.

      To start listening asynchronously, pass the getListenerLoop() runnable to a different thread.

      Parameters:
      listener - - the packet listener that will receive these asynchronous events.
      Returns:
      An asynchronous handler.
    • unregisterAsyncHandler

      void unregisterAsyncHandler(AsyncListenerHandler handler)
      Unregisters and closes the given asynchronous handler.
      Parameters:
      handler - - asynchronous handler.
    • unregisterAsyncHandler

      void unregisterAsyncHandler(PacketListener listener)
      Unregisters and closes the first asynchronous handler associated with the given listener.
      Parameters:
      listener - - asynchronous listener
    • unregisterAsyncHandlers

      void unregisterAsyncHandlers(org.bukkit.plugin.Plugin plugin)
      Unregisters every asynchronous handler associated with this plugin.
      Parameters:
      plugin - - the original plugin.
    • getSendingTypes

      Set<PacketType> getSendingTypes()
      Retrieves a immutable set containing the types of the sent server packets that will be observed by the asynchronous listeners.
      Returns:
      Every filtered server packet.
    • getReceivingTypes

      Set<PacketType> getReceivingTypes()
      Retrieves a immutable set containing the types of the received client packets that will be observed by the asynchronous listeners.
      Returns:
      Every filtered client packet.
    • hasAsynchronousListeners

      boolean hasAsynchronousListeners(PacketEvent packet)
      Determine if a given synchronous packet has asynchronous listeners.
      Parameters:
      packet - - packet to test.
      Returns:
      TRUE if it does, FALSE otherwise.
    • getPacketStream

      PacketStream getPacketStream()
      Retrieve the default packet stream.
      Returns:
      Default packet stream.
    • getErrorReporter

      ErrorReporter getErrorReporter()
      Retrieve the default error reporter.
      Returns:
      Default reporter.
    • cleanupAll

      void cleanupAll()
      Remove listeners, close threads and transmit every delayed packet.
    • signalPacketTransmission

      void signalPacketTransmission(PacketEvent packet)
      Signal that a packet is ready to be transmitted.

      This should only be called if AsyncMarker.incrementProcessingDelay() has been called previously.

      Parameters:
      packet - - packet to signal.
    • registerTimeoutHandler

      void registerTimeoutHandler(PacketListener listener)
      Register a synchronous listener that handles packets when they time out.
      Parameters:
      listener - - synchronous listener that will handle timed out packets.
    • unregisterTimeoutHandler

      void unregisterTimeoutHandler(PacketListener listener)
      Unregisters a given timeout listener.
      Parameters:
      listener - - the timeout listener to unregister.
    • getTimeoutHandlers

      Set<PacketListener> getTimeoutHandlers()
      Get a immutable set of every registered timeout handler.
      Returns:
      Set of every registered timeout handler.
    • getAsyncHandlers

      Set<PacketListener> getAsyncHandlers()
      Get an immutable set of every registered asynchronous packet listener.
      Returns:
      Set of every asynchronous packet listener.