connect up the discontinuous trees and route better
authorDirk Koopman <djk@tobit.co.uk>
Sun, 24 Jun 2007 20:15:23 +0000 (21:15 +0100)
committerDirk Koopman <djk@tobit.co.uk>
Sun, 24 Jun 2007 20:15:23 +0000 (21:15 +0100)
commitac14c6983861c08b8a2842af46e67407600f8065
tree13fdf4ad7c0d0d60e417158bdc40b4342a6c7d5a
parentc62d1dbdc3238711628d49608946eefedda2362e
connect up the discontinuous trees and route better

This involves making sure that all the external nodes get fixed
up even though their parent node does not yet exist (because no
config record has come in. It is safe to create these, in
anticipation of the C record coming in somewhen.

In the process of this, obscount reseting now happens much more
frequently (which I hope means correctly).

Allow Route::findroutes to find routes to these disconnected
nodes that are in the routing table but have no parent that is
yet anchored to a dxchan. Simply remember the dxchan that that
C record came in on. It doesn't matter if it gets overwritten by
another node, if it came in that way, there must be a route.

In any case, chances are, the first dxchan to get the C record
is the best and the deduping will (mostly) prevent it being
overwritten. When the linking C record comes in, it is all
irrelevant anyway...
Changes
perl/DXProtHandle.pm
perl/Route.pm
perl/Route/Node.pm
perl/Version.pm