Cool!

CHKInsertSender: One day I should rewrite this :)

FNPPacketMangler: Should be isConnected in all cases. FNPPacketMangler
deals with raw packets. Don't filter at this level; your changes will
prevent authenticated but incompatible nodes from exchanging packets.

IPDetectorPluginManager: Keep this at isConnected. We're just checking
here whether we have sufficient confidence in our IP to not want to run
a STUN detection.

KeyTracker: Definitely should use isConnected. Use isReallyConnected
when exchanging requests, routed pings/routed messages, swap messages,
and so on. Otherwise use isConnected. In order to send *any* message,
you need to allocate a packet number.

LocationManager: Good. We don't swap with out of date nodes.

NodeDispatcher: Good. You allow link pings, link pongs, void's, N2NTMs
and IP detections, then dump the rest unless we are compatible.

PacketSender: It's ALREADY incompatible. That's what shouldDisconnectNow
means. Maybe we can remove the check altogether? Hmmm, having reviewed
PeerNode, I see what you're doing. Okay cool.

PeerManager: Probably sensible. The connections list is mostly used by
routing.

PeerNode: Not sure I understand isConnected(). completedHandshake is
never set to false; it simply means we have completed a handshake *at
some point*. IMHO the right way forward is to have an isReallyConnected
and then either check the version in isConnected() every time, or have a
separate isCompatible flag, with isConnected() == isReallyConnected &&
isCompatible.
-- 
Matthew J Toseland - toad at amphibian.dyndns.org
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20060710/946c58f8/attachment.pgp>

Reply via email to