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 - [EMAIL PROTECTED] Freenet Project Official Codemonkey - http://freenetproject.org/ ICTHUS - Nothing is impossible. Our Boss says so.
signature.asc
Description: Digital signature
_______________________________________________ Devl mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
