Class UniversalisWsImpl

java.lang.Object
de.chojo.universalis.websocket.UniversalisWsImpl
All Implemented Interfaces:
UniversalisWs

public class UniversalisWsImpl extends Object implements UniversalisWs
Class to handle websocket connection to universalis.
  • Constructor Details

    • UniversalisWsImpl

      public UniversalisWsImpl(com.neovisionaries.ws.client.WebSocketFactory factory, ExecutorService websocketWorker, List<Subscription> subscribers, List<EventListener> listeners, NameSupplier itemNameSupplier)
      Creates an universalis websocket implementation.
      Parameters:
      factory - factory for websocket creation
      websocketWorker - worker for event handling
      subscribers - subscriptions
      listeners - listeners
      itemNameSupplier - item name supplier
  • Method Details

    • ignite

      public void ignite()
      Attempts to create the socket and connect it
    • subscribe

      public void subscribe(Subscription subscription)
      Description copied from interface: UniversalisWs
      Add a subscription.
      Specified by:
      subscribe in interface UniversalisWs
      Parameters:
      subscription - subcription to add
    • unsubscribe

      public void unsubscribe(Subscription subscription)
      Description copied from interface: UniversalisWs
      Remove a subscription.
      Specified by:
      unsubscribe in interface UniversalisWs
      Parameters:
      subscription - subscription to remove
    • disconnect

      public void disconnect()
      Description copied from interface: UniversalisWs
      Disconnect the websocket. Once disconnected the socket can no longer be used.
      Specified by:
      disconnect in interface UniversalisWs
    • socket

      @Nullable public @Nullable com.neovisionaries.ws.client.WebSocket socket()
      The currently active socket
      Returns:
      socket
    • awaitReady

      public void awaitReady()
      Description copied from interface: UniversalisWs
      Suspends the thread until the websocket is connected.
      Specified by:
      awaitReady in interface UniversalisWs