FileDocCategorySizeDatePackage
PeerProtocolManagerImpl.javaAPI DocAzureus 3.0.3.42240Thu Dec 15 07:51:44 GMT 2005org.gudy.azureus2.pluginsimpl.local.peers.protocol

PeerProtocolManagerImpl

public class PeerProtocolManagerImpl extends Object implements PeerProtocolManager
author
parg

Fields Summary
protected static PeerProtocolManager
singleton
protected static org.gudy.azureus2.core3.util.AEMonitor
class_mon
Constructors Summary
Methods Summary
public static PeerProtocolManagergetSingleton()


	  
	
	
		try{
			class_mon.enter();
		
			if ( singleton == null ){
				
				singleton = new PeerProtocolManagerImpl();
			}
			
			return( singleton );
			
		}finally{
			
			class_mon.exit();
		}
	
public voidregisterExtensionHandler(java.lang.String protocol_name, PeerProtocolExtensionHandler handler)

		PEPeerTransportFactory.registerExtensionHandler(
				protocol_name,
				new PEPeerTransportExtensionHandler()
				{
					public List
					handleExtension(
						PEPeerControl	manager,
						Map				details )
					{
						PeerManagerImpl	peer_manager = PeerManagerImpl.getPeerManager( manager);
						
						Peer[] peers = handler.handleExtension(
								peer_manager,
										details );
						
						return( peer_manager.mapForeignPeers( peers ));
					}
				});