Interface I2PSessionMuxedListener

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void disconnected​(I2PSession session)
      Notify the client that the session has been terminated.
      void errorOccurred​(I2PSession session, String message, Throwable error)
      Notify the client that some error occurred.
      void messageAvailable​(I2PSession session, int msgId, long size)
      Will be called only if you register via setSessionListener() or addSessionListener().
      void messageAvailable​(I2PSession session, int msgId, long size, int proto, int fromport, int toport)
      Instruct the client that the given session has received a message Will be called only if you register via addMuxedSessionListener().
      void reportAbuse​(I2PSession session, int severity)
      Instruct the client that the session specified seems to be under attack and that the client may wish to move its destination to another router.
    • Method Detail

      • messageAvailable

        void messageAvailable​(I2PSession session,
                              int msgId,
                              long size)
        Will be called only if you register via setSessionListener() or addSessionListener(). And if you are doing that, just use I2PSessionListener. If you register via addSessionListener(), this will be called only for the proto(s) and toport(s) you register for. After this is called, the client should call receiveMessage(msgId). There is currently no method for the client to reject the message. If the client does not call receiveMessage() within a timeout period (currently 30 seconds), the session will delete the message and log an error.
        Specified by:
        messageAvailable in interface I2PSessionListener
        Parameters:
        session - session to notify
        msgId - message number available
        size - size of the message - why it's a long and not an int is a mystery
      • messageAvailable

        void messageAvailable​(I2PSession session,
                              int msgId,
                              long size,
                              int proto,
                              int fromport,
                              int toport)
        Instruct the client that the given session has received a message Will be called only if you register via addMuxedSessionListener(). Will be called only for the proto(s) and toport(s) you register for. After this is called, the client should call receiveMessage(msgId). There is currently no method for the client to reject the message. If the client does not call receiveMessage() within a timeout period (currently 30 seconds), the session will delete the message and log an error. Only one listener is called for a given message, even if more than one have registered. See I2PSessionDemultiplexer for details.
        Parameters:
        session - session to notify
        msgId - message number available
        size - size of the message - why it's a long and not an int is a mystery
        proto - 1-254 or 0 for unspecified
        fromport - 1-65535 or 0 for unspecified
        toport - 1-65535 or 0 for unspecified
      • reportAbuse

        void reportAbuse​(I2PSession session,
                         int severity)
        Instruct the client that the session specified seems to be under attack and that the client may wish to move its destination to another router. All registered listeners will be called. Unused. Not fully implemented.
        Specified by:
        reportAbuse in interface I2PSessionListener
        Parameters:
        session - session to report abuse to
        severity - how bad the abuse is
      • disconnected

        void disconnected​(I2PSession session)
        Notify the client that the session has been terminated. All registered listeners will be called.
        Specified by:
        disconnected in interface I2PSessionListener
      • errorOccurred

        void errorOccurred​(I2PSession session,
                           String message,
                           Throwable error)
        Notify the client that some error occurred. All registered listeners will be called.
        Specified by:
        errorOccurred in interface I2PSessionListener
        Parameters:
        error - can be null? or not?