Class WelcomeMessage

java.lang.Object
org.drasyl.peer.connection.message.WelcomeMessage
All Implemented Interfaces:
Message, ResponseMessage<JoinMessage>

public class WelcomeMessage extends Object
A message representing the welcome message of the node server, including fallback information.
  • Field Details

    • correspondingId

      protected final MessageId correspondingId
    • defaultUserAgentGenerator

      public static final Supplier<String> defaultUserAgentGenerator
    • userAgentGenerator

      public static Supplier<String> userAgentGenerator
    • id

      protected final MessageId id
    • userAgent

      protected final String userAgent
    • networkId

      protected final int networkId
    • sender

      protected final CompressedPublicKey sender
    • proofOfWork

      protected final ProofOfWork proofOfWork
    • recipient

      protected final CompressedPublicKey recipient
    • hopCount

      protected short hopCount
  • Constructor Details

    • WelcomeMessage

      public WelcomeMessage(int networkId, CompressedPublicKey sender, ProofOfWork proofOfWork, CompressedPublicKey recipient, PeerInformation peerInformation, MessageId correspondingId)
      Creates new welcome message.
      Parameters:
      networkId - the network id of the node server
      sender - the public key of the node server
      proofOfWork - the proof of work of the node server
      recipient - the public key of the recipient
      peerInformation - the peer information of the node server
      correspondingId - the corresponding id of the previous join message
  • Method Details

    • getPeerInformation

      public PeerInformation getPeerInformation()
    • hashCode

      public int hashCode()
    • equals

      public boolean equals(Object o)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getCorrespondingId

      public MessageId getCorrespondingId()
      Specified by:
      getCorrespondingId in interface ResponseMessage<R extends RequestMessage>
      Returns:
      the id of the RequestMessage to which this response corresponds
    • getId

      public MessageId getId()
      Description copied from interface: Message
      Returns the unique id of this message. Each message generates a random id when it is created.
      Specified by:
      getId in interface Message
      Returns:
      the unique id of this message. Each message generates a random id when it is created.
    • getUserAgent

      public String getUserAgent()
      Description copied from interface: Message
      Returns the user agent of the sender's node.
      Specified by:
      getUserAgent in interface Message
      Returns:
      the user agent of the sender's node.
    • getNetworkId

      public int getNetworkId()
      Description copied from interface: Message
      Returns the network the sender belongs to.
      Specified by:
      getNetworkId in interface Message
      Returns:
      the network the sender belongs to
    • getSender

      public CompressedPublicKey getSender()
      Description copied from interface: Message
      Returns this message's sender.
      Specified by:
      getSender in interface Message
      Returns:
      this message's sender.
    • getProofOfWork

      public ProofOfWork getProofOfWork()
      Description copied from interface: Message
      Returns this message sender's proof of work.
      Specified by:
      getProofOfWork in interface Message
      Returns:
      this message sender's proof of work.
    • getRecipient

      public CompressedPublicKey getRecipient()
      Description copied from interface: Message
      Returns this message's recipient.
      Specified by:
      getRecipient in interface Message
      Returns:
      this message's recipient.
    • getHopCount

      public short getHopCount()
      Description copied from interface: Message
      Returns this message's hop count. Starts at 0 and is incremented every time it is sent. Once the message reaches the limit defined in config drasyl.message.hop-limit it will be dropped.
      Specified by:
      getHopCount in interface Message
      Returns:
      this message's hop count.
    • incrementHopCount

      public void incrementHopCount()
      Description copied from interface: Message
      Increases the message's hop count.
      Specified by:
      incrementHopCount in interface Message