Methods Summary |
---|
public static boolean | addIdentity(PeerIdentityDataID data_id, byte[] peer_id, int local_port, java.lang.String ip)Add a new peer identity to the manager.
PeerIdentity peerID = new PeerIdentity( peer_id, local_port );
try{
class_mon.enter();
Map peerMap = (Map)dataMap.get( data_id );
if( peerMap == null ) {
peerMap = new HashMap();
dataMap.put( data_id, peerMap );
}
String old = (String)peerMap.put( peerID, ip );
if( old == null ) {
totalIDs++;
return( true );
}else{
return( false );
}
}finally{
class_mon.exit();
}
|
public static boolean | containsIPAddress(PeerIdentityDataID data_id, java.lang.String ip)Check if the given IP address is already present in the manager's
peer identity list for the given data item (i.e. check if there is
already a peer with that IP address).
try{
class_mon.enter();
Map peerMap = (Map)dataMap.get( data_id );
if( peerMap != null ) {
if( peerMap.containsValue( ip ) ) {
return true;
}
}
}finally{
class_mon.exit();
}
return false;
|
public static boolean | containsIdentity(PeerIdentityDataID data_id, byte[] peer_id, int local_port)Check if the manager already has the given peer identity.
PeerIdentity peerID = new PeerIdentity( peer_id, local_port );
try{
class_mon.enter();
Map peerMap = (Map)dataMap.get( data_id );
if( peerMap != null ) {
if( peerMap.containsKey( peerID ) ) {
return true;
}
}
}finally{
class_mon.exit();
}
return false;
|
public static PeerIdentityDataID | createDataID(byte[] data)
/*
static{
new AEThread("mon",true)
{
public void
runSupport()
{
monitor();
}
}.start();
}
static void
monitor()
{
while( true ){
try{
class_mon.enter();
System.out.println( "tot = " + getTotalIdentityCount());
Iterator it = dataMap.entrySet().iterator();
while( it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
PeerIdentityDataID id = (PeerIdentityDataID)entry.getKey();
Map vals = (Map)entry.getValue();
System.out.println( " id " + ByteFormatter.encodeString( id.getDataID())+ " -> " + vals.size());
}
}finally{
class_mon.exit();
}
try{
Thread.sleep(10000);
}catch( Throwable e ){
}
}
}
*/
PeerIdentityDataID data_id = new PeerIdentityDataID( data );
Map peerMap;
try{
class_mon.enter();
peerMap = (Map)dataMap.get( data_id );
if( peerMap == null ){
peerMap = new HashMap();
dataMap.put( data_id, peerMap );
}
}finally{
class_mon.exit();
}
data_id.setPeerMap( peerMap );
return( data_id );
|
public static int | getIdentityCount(PeerIdentityDataID data_id)Get the total number of peer identities managed for the given data item.
return( data_id.getPeerMap().size());
|
public static int | getTotalIdentityCount()Get the total number of peer identities managed.
return totalIDs;
|
public static void | removeIdentity(PeerIdentityDataID data_id, byte[] peer_id, int local_port)Remove a peer identity from the manager.
try{
class_mon.enter();
Map peerMap = (Map)dataMap.get( data_id );
if( peerMap != null ) {
PeerIdentity peerID = new PeerIdentity( peer_id, local_port );
String old = (String)peerMap.remove( peerID );
if( old != null ) {
totalIDs--;
}else{
Debug.out( "id not present: id=" + peerID.getString());
}
}
}finally{
class_mon.exit();
}
|