Class GEventReceiver

java.lang.Object
com.glitchybyte.glib.concurrent.event.GEventReceiver
All Implemented Interfaces:
AutoCloseable

public final class GEventReceiver extends Object implements AutoCloseable
Event receiver.

The event handler happens on its own thread. So there is a platform thread created per receiver. The handler can take all the time it wants. It will simply delay processing of their own events, but will never block any senders or other receivers.

  • Method Details

    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • subscribeTo

      public GEventReceiver subscribeTo(String eventType)
      Subscribes this receiver to the given event type.
      Parameters:
      eventType - Event type.
      Returns:
      This receiver.
    • subscribeTo

      public GEventReceiver subscribeTo(Set<String> eventTypes)
      Subscribes this receiver to the given group of event types.
      Parameters:
      eventTypes - A group of event types.
      Returns:
      This receiver.
    • unsubscribeFrom

      public GEventReceiver unsubscribeFrom(String eventType)
      Unsubscribes this receiver from the given event type.
      Parameters:
      eventType - Event type.
      Returns:
      This receiver.
    • unsubscribeFrom

      public GEventReceiver unsubscribeFrom(Set<String> eventTypes)
      Unsubscribes this receiver from the given group of event types.
      Parameters:
      eventTypes - A group of event types.
      Returns:
      This receiver.
    • unsubscribeFromAll

      public GEventReceiver unsubscribeFromAll()
      Unsubscribes this receiver from all event types.
      Returns:
      This receiver.
    • postEvent

      public void postEvent(GEvent event)
      Adds an event to this receivers queue.

      This is a non-blocking operation.

      Parameters:
      event - Event to queue.