Class MessageManager

java.lang.Object
com.biglybt.core.peermanager.messaging.MessageManager

public class MessageManager extends Object
  • Field Details

  • Constructor Details

    • MessageManager

      private MessageManager()
  • Method Details

    • getSingleton

      public static MessageManager getSingleton()
    • initialize

      public void initialize()
      Perform manager initialization.
    • registerMessageType

      public void registerMessageType(Message message) throws MessageException
      Register the given message type with the manager for processing.
      Parameters:
      message - instance to use for decoding
      Throws:
      MessageException - if this message type has already been registered
    • deregisterMessageType

      public void deregisterMessageType(Message message)
      Remove registration of given message type from manager.
      Parameters:
      message - type to remove
    • createMessage

      public Message createMessage(byte[] id_bytes, DirectByteBuffer message_data, byte version) throws MessageException
      Construct a new message instance from the given message information.
      Parameters:
      id - of message
      message_data - payload
      Returns:
      decoded/deserialized message
      Throws:
      MessageException - if message creation failed
    • lookupMessage

      public Message lookupMessage(String id)
      Lookup a registered message type via id and version.
      Parameters:
      id - to look for
      Returns:
      the default registered message instance if found, otherwise returns null if this message type is not registered
    • lookupMessage

      public Message lookupMessage(byte[] id_bytes)
    • getRegisteredMessages

      public Message[] getRegisteredMessages()
      Get a list of the registered messages.
      Returns:
      messages