Class NostrRelay


  • public final class NostrRelay
    extends java.lang.Object
    • Field Detail

      • connector

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

        protected final java.lang.String url
      • waitingEventsAck

        protected final java.util.Map<java.lang.String,​NostrMessageAck> waitingEventsAck
      • executor

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

        protected final org.ngengine.platform.ExecutionQueue excQueue
      • 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 java.util.Queue<org.ngengine.nostr4j.NostrRelay.QueuedMessage> messageQueue
      • connectCallbacks

        protected final java.util.Queue<java.lang.Runnable> connectCallbacks
    • Constructor Detail

      • NostrRelay

        public NostrRelay​(java.lang.String url)
      • NostrRelay

        public NostrRelay​(java.lang.String url,
                          org.ngengine.platform.AsyncExecutor executor)
    • Method Detail

      • runInRelayExecutor

        protected <T> void runInRelayExecutor​(java.util.function.BiConsumer<java.util.function.Consumer<T>,​java.util.function.Consumer<java.lang.Throwable>> runnable,
                                              boolean enqueue)
      • getInfo

        public NostrRelayInfo getInfo()
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • setVerifyEvents

        public void setVerifyEvents​(boolean verify)
      • isVerifyEvents

        public boolean isVerifyEvents()
      • setAsyncEventsVerification

        public void setAsyncEventsVerification​(boolean v)
      • isAsyncEventsVerification

        public boolean isAsyncEventsVerification()
      • setAutoReconnect

        public void setAutoReconnect​(boolean reconnect)
      • isAutoReconnect

        public boolean isAutoReconnect()
      • setAckTimeout

        public void setAckTimeout​(long time,
                                  java.util.concurrent.TimeUnit unit)
      • getAckTimeout

        public long getAckTimeout​(java.util.concurrent.TimeUnit outputUnit)
      • getComponent

        public <T extends NostrRelayComponent> T getComponent​(java.lang.Class<T> clazz)
      • isConnected

        public boolean isConnected()
      • beforeSendMessage

        public void beforeSendMessage​(NostrMessage message)
      • afterSendMessage

        public void afterSendMessage​(NostrMessage message)
      • getUrl

        public java.lang.String getUrl()
      • connect

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

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

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

        protected void loop()