Class MessageManagerImpl
- java.lang.Object
-
- com.biglybt.pifimpl.local.messaging.MessageManagerImpl
-
- All Implemented Interfaces:
NATTraversalHandler
,MessageManager
public class MessageManagerImpl extends java.lang.Object implements MessageManager, NATTraversalHandler
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.HashMap
compat_checks
private Core
core
private DownloadManagerListener
download_manager_listener
private static MessageManagerImpl
instance
private java.util.Map
message_handlers
-
Fields inherited from interface com.biglybt.pif.messaging.MessageManager
STREAM_ENCRYPTION_NONE, STREAM_ENCRYPTION_RC4_PREFERRED, STREAM_ENCRYPTION_RC4_REQUIRED
-
-
Constructor Summary
Constructors Modifier Constructor Description private
MessageManagerImpl(Core _core)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
adjustCrypto(ConnectionEndpoint endpoint, int crypto)
static int
adjustCrypto(GenericMessageEndpointImpl endpoint, int crypto)
void
cancelCompatiblePeersLocation(MessageManagerListener orig_listener)
Cancel registration for compatible-peer notification.void
deregisterMessageType(Message message)
Remove registration of given message type from manager.protected GenericMessageHandler
getHandler(java.lang.String type)
java.lang.String
getName()
NATTraverser
getNATTraverser()
static MessageManagerImpl
getSingleton(Core core)
int
getType()
void
locateCompatiblePeers(PluginInterface plug_interface, Message message, MessageManagerListener listener)
Globally register for notification of peers that support the given message type.java.util.Map
process(java.net.InetSocketAddress originator, java.util.Map message)
GenericMessageRegistration
registerGenericMessageType(java.lang.String _type, java.lang.String description, int stream_crypto, GenericMessageHandler handler)
Register a peer-independent message handlervoid
registerMessageType(Message message)
Register the given message type with the manager for processing.
-
-
-
Field Detail
-
instance
private static MessageManagerImpl instance
-
compat_checks
private final java.util.HashMap compat_checks
-
download_manager_listener
private final DownloadManagerListener download_manager_listener
-
core
private Core core
-
message_handlers
private java.util.Map message_handlers
-
-
Constructor Detail
-
MessageManagerImpl
private MessageManagerImpl(Core _core)
-
-
Method Detail
-
adjustCrypto
public static int adjustCrypto(GenericMessageEndpointImpl endpoint, int crypto)
-
adjustCrypto
public static int adjustCrypto(ConnectionEndpoint endpoint, int crypto)
-
getSingleton
public static MessageManagerImpl getSingleton(Core core)
-
getNATTraverser
public NATTraverser getNATTraverser()
-
registerMessageType
public void registerMessageType(Message message) throws MessageException
Description copied from interface:MessageManager
Register the given message type with the manager for processing. NOTE: A message type needs to be registered in order for support to be advertised to other peers.- Specified by:
registerMessageType
in interfaceMessageManager
- Parameters:
message
- instance to use for decoding- Throws:
MessageException
- if this message type has already been registered
-
deregisterMessageType
public void deregisterMessageType(Message message)
Description copied from interface:MessageManager
Remove registration of given message type from manager.- Specified by:
deregisterMessageType
in interfaceMessageManager
- Parameters:
message
- type to remove
-
locateCompatiblePeers
public void locateCompatiblePeers(PluginInterface plug_interface, Message message, MessageManagerListener listener)
Description copied from interface:MessageManager
Globally register for notification of peers that support the given message type.- Specified by:
locateCompatiblePeers
in interfaceMessageManager
- Parameters:
plug_interface
- to get the download managermessage
- to matchlistener
- to notify
-
cancelCompatiblePeersLocation
public void cancelCompatiblePeersLocation(MessageManagerListener orig_listener)
Description copied from interface:MessageManager
Cancel registration for compatible-peer notification.- Specified by:
cancelCompatiblePeersLocation
in interfaceMessageManager
- Parameters:
orig_listener
- listener used for registration
-
registerGenericMessageType
public GenericMessageRegistration registerGenericMessageType(java.lang.String _type, java.lang.String description, int stream_crypto, GenericMessageHandler handler) throws MessageException
Description copied from interface:MessageManager
Register a peer-independent message handler- Specified by:
registerGenericMessageType
in interfaceMessageManager
- Returns:
- Throws:
MessageException
-
getHandler
protected GenericMessageHandler getHandler(java.lang.String type)
-
getType
public int getType()
- Specified by:
getType
in interfaceNATTraversalHandler
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceNATTraversalHandler
-
process
public java.util.Map process(java.net.InetSocketAddress originator, java.util.Map message)
- Specified by:
process
in interfaceNATTraversalHandler
-
-