Class BTMessageFactory

java.lang.Object
com.biglybt.core.peermanager.messaging.bittorrent.BTMessageFactory

public class BTMessageFactory extends Object
  • Field Details

    • MESSAGE_VERSION_INITIAL

      public static final byte MESSAGE_VERSION_INITIAL
      See Also:
    • MESSAGE_VERSION_SUPPORTS_PADDING

      public static final byte MESSAGE_VERSION_SUPPORTS_PADDING
      See Also:
    • LOGID

      private static final LogIDs LOGID
    • id_to_name

      private static final String[] id_to_name
    • legacy_data

      private static final HashMap legacy_data
  • Constructor Details

    • BTMessageFactory

      public BTMessageFactory()
  • Method Details

    • init

      public static void init()
      Initialize the factory, i.e. register the messages with the message manager.
    • createBTMessage

      public static Message createBTMessage(DirectByteBuffer stream_payload) throws MessageException
      Construct a new BT message instance from the given message raw byte stream.
      Parameters:
      stream_payload - data
      Returns:
      decoded/deserialized BT message
      Throws:
      MessageException - if message creation failed NOTE: Does not auto-return given direct buffer on thrown exception.
    • getMessageType

      public static int getMessageType(DirectByteBuffer stream_payload)
    • createBTRawMessage

      public static RawMessage createBTRawMessage(Message base_message)
      Create the proper BT raw message from the given base message.
      Parameters:
      base_message - to create from
      Returns:
      BT raw message