Class DHTUDPUtils


  • public class DHTUDPUtils
    extends java.lang.Object
    • Field Detail

      • INVALID_PROTOCOL_VERSION_EXCEPTION

        public static final java.io.IOException INVALID_PROTOCOL_VERSION_EXCEPTION
      • node_id_history

        private static final java.util.Map<java.lang.String,​byte[]> node_id_history
      • INETSOCKETADDRESS_IPV4_SIZE

        public static final int INETSOCKETADDRESS_IPV4_SIZE
        See Also:
        Constant Field Values
      • INETSOCKETADDRESS_IPV6_SIZE

        public static final int INETSOCKETADDRESS_IPV6_SIZE
        See Also:
        Constant Field Values
      • DHTTRANSPORTCONTACT_SIZE

        public static final int DHTTRANSPORTCONTACT_SIZE
        See Also:
        Constant Field Values
      • DHTTRANSPORTVALUE_SIZE_WITHOUT_VALUE

        public static final int DHTTRANSPORTVALUE_SIZE_WITHOUT_VALUE
        See Also:
        Constant Field Values
      • last_calc

        private static volatile long last_calc
      • last_details_recv_total

        private static volatile long last_details_recv_total
      • last_details_sent_total

        private static volatile long last_details_sent_total
      • last_upload_stats

        private static volatile long last_upload_stats
    • Constructor Detail

      • DHTUDPUtils

        public DHTUDPUtils()
    • Method Detail

      • getBogusNodeID

        protected static byte[] getBogusNodeID()
      • serialiseLength

        protected static void serialiseLength​(java.io.DataOutputStream os,
                                              int len,
                                              int max_length)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseLength

        protected static int deserialiseLength​(java.io.DataInputStream is,
                                               int max_length)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseByteArray

        protected static byte[] deserialiseByteArray​(java.io.DataInputStream is,
                                                     int max_length)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseByteArray

        protected static void serialiseByteArray​(java.io.DataOutputStream os,
                                                 byte[] data,
                                                 int max_length)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseByteArray

        protected static void serialiseByteArray​(java.io.DataOutputStream os,
                                                 byte[] data,
                                                 int start,
                                                 int length,
                                                 int max_length)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseByteArrayArray

        protected static void serialiseByteArrayArray​(java.io.DataOutputStream os,
                                                      byte[][] data,
                                                      int max_length)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseByteArrayArray

        protected static byte[][] deserialiseByteArrayArray​(java.io.DataInputStream is,
                                                            int max_length)
                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseAddress

        protected static void serialiseAddress​(java.io.DataOutputStream os,
                                               java.net.InetSocketAddress address)
                                        throws java.io.IOException,
                                               DHTTransportException
        Throws:
        java.io.IOException
        DHTTransportException
      • deserialiseAddress

        protected static java.net.InetSocketAddress deserialiseAddress​(java.io.DataInputStream is)
                                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseTransportValuesArray

        protected static DHTTransportValue[][] deserialiseTransportValuesArray​(DHTUDPPacket packet,
                                                                               java.io.DataInputStream is,
                                                                               long skew,
                                                                               int max_length)
                                                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseTransportValues

        protected static DHTTransportValue[] deserialiseTransportValues​(DHTUDPPacket packet,
                                                                        java.io.DataInputStream is,
                                                                        long skew)
                                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseContacts

        protected static void serialiseContacts​(java.io.DataOutputStream os,
                                                DHTTransportContact[] contacts)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseContacts

        protected static DHTTransportContact[] deserialiseContacts​(DHTTransportUDPImpl transport,
                                                                   java.io.DataInputStream is)
                                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseAltContacts

        protected static void serialiseAltContacts​(java.io.DataOutputStream os,
                                                   DHTTransportAlternativeContact[] contacts)
                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseAltContacts

        protected static DHTTransportAlternativeContact[] deserialiseAltContacts​(java.io.DataInputStream is)
                                                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseAltContactRequest

        protected static void serialiseAltContactRequest​(DHTUDPPacketRequestPing ping,
                                                         java.io.DataOutputStream os)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseAltContactRequest

        protected static void deserialiseAltContactRequest​(DHTUDPPacketRequestPing ping,
                                                           java.io.DataInputStream is)
                                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseVivaldi

        protected static void serialiseVivaldi​(DHTUDPPacketReply reply,
                                               java.io.DataOutputStream os)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseVivaldi

        protected static void deserialiseVivaldi​(DHTUDPPacketReply reply,
                                                 java.io.DataInputStream is)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • serialiseStats

        protected static void serialiseStats​(int version,
                                             java.io.DataOutputStream os,
                                             DHTTransportFullStats stats)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseStats

        protected static DHTTransportFullStats deserialiseStats​(int version,
                                                                java.io.DataInputStream is)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • registerTransport

        protected static void registerTransport​(DHTTransportUDPImpl transport)
      • serialiseUploadStats

        protected static void serialiseUploadStats​(int protocol_version,
                                                   int packet_type,
                                                   java.io.DataOutputStream os)
                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • deserialiseUploadStats

        protected static java.lang.Object deserialiseUploadStats​(java.io.DataInputStream is)
                                                          throws java.io.IOException
        Throws:
        java.io.IOException