Class JDPPacket

  • All Implemented Interfaces:
    Discoverable

    public final class JDPPacket
    extends java.lang.Object
    implements Discoverable
    Class for delivering and retrieving the content.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.String,​java.lang.String> decoded  
      private byte[] encoded  
      (package private) static java.lang.String KEY_DISCOVERABLE_ID  
      private static byte[] MAGIC  
      private static int PROTOCOL_VERSION  
      private java.lang.String sessionId  
    • Constructor Summary

      Constructors 
      Constructor Description
      JDPPacket​(byte[] data)  
      JDPPacket​(java.util.Map<java.lang.String,​java.lang.String> discoveryData)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static boolean checkMagic​(byte[] data)
      Checks if the first bytes in the byte buffer are the JDP magic bytes.
      private static void checkVersion​(int version)
      Checks if this version bytes in the byte buffer are of a version that this class can decode.
      private static java.util.Map<java.lang.String,​java.lang.String> decode​(byte[] data)  
      private static java.util.Map<java.lang.String,​java.lang.String> decodeHotSpot​(byte[] data)  
      private static java.lang.String decodeString​(java.io.DataInputStream dis)
      Reads a string from the byte buffer.
      private static byte[] encode​(java.util.Map<java.lang.String,​java.lang.String> discoveryData)  
      boolean equals​(java.lang.Object obj)  
      byte[] getDiscoveryDataAsByteArray()  
      java.util.Map<java.lang.String,​java.lang.String> getPayload()  
      java.lang.String getSessionId()  
      int hashCode()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • MAGIC

        private static final byte[] MAGIC
      • decoded

        private final java.util.Map<java.lang.String,​java.lang.String> decoded
      • encoded

        private final byte[] encoded
      • sessionId

        private final java.lang.String sessionId
    • Constructor Detail

      • JDPPacket

        public JDPPacket​(java.util.Map<java.lang.String,​java.lang.String> discoveryData)
    • Method Detail

      • getPayload

        public java.util.Map<java.lang.String,​java.lang.String> getPayload()
        Specified by:
        getPayload in interface Discoverable
        Returns:
        the discovery payload.
      • getSessionId

        public java.lang.String getSessionId()
        Specified by:
        getSessionId in interface Discoverable
        Returns:
        the identifier uniquely identifying the discoverable session. A new session UUID is generated whenever the JDP server is started.
      • getDiscoveryDataAsByteArray

        public byte[] getDiscoveryDataAsByteArray()
      • encode

        private static byte[] encode​(java.util.Map<java.lang.String,​java.lang.String> discoveryData)
                              throws CodingException
        Throws:
        CodingException
      • decodeHotSpot

        private static java.util.Map<java.lang.String,​java.lang.String> decodeHotSpot​(byte[] data)
                                                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • decodeString

        private static java.lang.String decodeString​(java.io.DataInputStream dis)
                                              throws java.io.IOException
        Reads a string from the byte buffer.
        Parameters:
        data - the byte buffer to read from.
        size - the size to read.
        offset - the position to read from.
        Returns:
        the resulting String.
        Throws:
        java.io.IOException
      • checkMagic

        private static boolean checkMagic​(byte[] data)
        Checks if the first bytes in the byte buffer are the JDP magic bytes.
        Parameters:
        data - the byte buffer to check.
        Returns:
        true if the first bytes match, false otherwise.
      • checkVersion

        private static void checkVersion​(int version)
                                  throws CodingException
        Checks if this version bytes in the byte buffer are of a version that this class can decode.
        Throws:
        CodingException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object