Class NostrRelay

java.lang.Object
org.ngengine.nostr4j.NostrRelay

public final class NostrRelay extends Object
  • Field Details

    • connector

      protected final org.ngengine.platform.transport.WebsocketTransport connector
    • url

      protected final String url
    • listeners

      protected final List<NostrRelayComponent> listeners
    • waitingEventsAck

      protected final Map<String,NostrMessageAck> waitingEventsAck
    • executor

      protected final org.ngengine.platform.AsyncExecutor executor
    • reconnectionBackoff

      protected final ExponentialBackoff reconnectionBackoff
    • ackTimeoutS

      protected volatile long ackTimeoutS
    • reconnectOnDrop

      protected volatile boolean reconnectOnDrop
    • disconnectedByClient

      protected volatile boolean disconnectedByClient
    • connected

      protected volatile boolean connected
    • connecting

      protected volatile boolean connecting
    • firstConnection

      protected volatile boolean firstConnection
    • verifyEvents

      protected volatile boolean verifyEvents
    • parallelEvents

      protected volatile boolean parallelEvents
    • messageQueue

      protected final Queue<org.ngengine.nostr4j.NostrRelay.QueuedMessage> messageQueue
    • connectCallbacks

      protected final Queue<Runnable> connectCallbacks
    • queue

      protected AtomicReference<org.ngengine.platform.AsyncTask> queue
    • relayInfo

      protected transient NostrRelayInfo relayInfo
  • Constructor Details

    • NostrRelay

      public NostrRelay(String url)
    • NostrRelay

      public NostrRelay(String url, org.ngengine.platform.AsyncExecutor executor)
  • Method Details

    • getInfo

      public NostrRelayInfo getInfo() throws IOException
      Throws:
      IOException
    • setVerifyEvents

      public void setVerifyEvents(boolean verify)
    • isVerifyEvents

      public boolean isVerifyEvents()
    • setAsyncEventsVerification

      public void setAsyncEventsVerification(boolean v)
    • isAsyncEventsVerification

      public boolean isAsyncEventsVerification()
    • runInRelayExecutor

      protected <T> void runInRelayExecutor(BiConsumer<Consumer<T>,Consumer<Throwable>> runnable, boolean enqueue)
    • setAutoReconnect

      public void setAutoReconnect(boolean reconnect)
    • isAutoReconnect

      public boolean isAutoReconnect()
    • setAckTimeout

      public void setAckTimeout(long time, TimeUnit unit)
    • getAckTimeout

      public long getAckTimeout(TimeUnit outputUnit)
    • addComponent

      public NostrRelay addComponent(NostrRelayComponent listener)
    • removeComponent

      public NostrRelay removeComponent(NostrRelayComponent listener)
    • getComponent

      public <T extends NostrRelayComponent> T getComponent(Class<T> clazz)
    • isConnected

      public boolean isConnected()
    • beforeSendMessage

      public void beforeSendMessage(NostrMessage message)
    • afterSendMessage

      public void afterSendMessage(NostrMessage message)
    • sendMessage

      public org.ngengine.platform.AsyncTask<NostrMessageAck> sendMessage(NostrMessage message)
    • getUrl

      public String getUrl()
    • connect

      public org.ngengine.platform.AsyncTask<NostrRelay> connect()
    • disconnect

      public org.ngengine.platform.AsyncTask<NostrRelay> disconnect(String reason)
    • loop

      protected void loop()