override protected void ConnectorEndHandler(object connector, EventArgs args)
{
lock( _sync ) {
_connectors.Remove(connector);
}
/**
* Take a look at see if there is some node we should connect to.
*/
Connector ctr = (Connector)connector;
ArrayList neighs = new ArrayList();
Hashtable t_to_f = new Hashtable();
foreach(ConnectToMessage ctm in ctr.ReceivedCTMs) {
if( ctm.Neighbors != null ) {
foreach(NodeInfo n in ctm.Neighbors) {
t_to_f[n.Address] = ctm.Target.Address;
}
neighs.AddRange( ctm.Neighbors );
}
}
ConnectionList structs =
_node.ConnectionTable.GetConnections(ConnectionType.Structured);
ConnectToNearer(structs, t_to_f, neighs);
}