On Wednesday 23 January 2008 02:40, David Sowder (Zothar) wrote:
> [My previous message was temporarily rejected by emu due to greylisting
> (OK), but the backup MX rejected it outright (not ok)]
>
> getLocalNoderef() factored out in r17204.
>
>
> > A seed node should also get a differential noderef, being the opennet
noderef
>
> By this do you mean that the local opennet noderef should be sent to a
> SeedClientPeerNode, a SeedServerPeerNode or both? Any suggestions on
> how to check in getLocalNoderef() for the type I am and thus return the
> opennet ref for or should I make isSeedClient() and/or isSeedServer()?
Just implement it in each class. SeedClientPeerNode and SeedServerPeerNode are
essentially opennet; they use the opennet noderef anyway.
>
> Matthew Toseland wrote:
> > On Sunday 20 January 2008 16:01, zothar at freenetproject.org wrote:
> >
> >> Author: zothar
> >> Date: 2008-01-20 16:01:53 +0000 (Sun, 20 Jan 2008)
> >> New Revision: 17170
> >>
> >> Modified:
> >> trunk/freenet/src/freenet/node/PeerNode.java
> >> Log:
> >> Add code, not wired in yet, to send a differential node reference
containing
> >>
> > node reference fields not required for handshake. Once wired in, this
should
> > later allow removing those fields from the handshake exchanged node
> > references.
> >
> >> Modified: trunk/freenet/src/freenet/node/PeerNode.java
> >> ===================================================================
> >> --- trunk/freenet/src/freenet/node/PeerNode.java 2008-01-19 23:44:16 UTC
> >>
> > (rev 17169)
> >
> >> +++ trunk/freenet/src/freenet/node/PeerNode.java 2008-01-20 16:01:53 UTC
> >>
> > (rev 17170)
> >
> >> @@ -3472,9 +3472,48 @@
> >> }
> >>
> >> /**
> >> - * A method to be to queue an N2NM in a extra peer data file, only
> >>
> > implemented by DarknetPeerNode
> >
> >> + * A method to queue an N2NM in a extra peer data file, only
implemented
> >>
> > by DarknetPeerNode
> >
> >> */
> >> public void queueN2NM(SimpleFieldSet fs) {
> >> // Do nothing in the default impl
> >> }
> >> +
> >> + /**
> >> + * A method to be called after completing a handshake to send the
> >> + * newly connected peer, as a differential node reference, the
> >> + * parts of our node reference not needed for handshake.
> >> + * Should only be called by completedHandshake() after we're happy
> >> + * with the connection
> >> + */
> >> + private void sendConnectedDiffNoderef() {
> >> + SimpleFieldSet fs = new SimpleFieldSet(true);
> >> + SimpleFieldSet nfs = null;
> >> + if(isDarknet()) {
> >> + node.exportDarknetPublicFieldSet();
> >> + } else if(isOpennet()) {
> >> + node.exportOpennetPublicFieldSet();
> >> + } else {
> >> + // What else is there that a differential node
> >> reference would care
> >>
> > about? Add it here if needed
> >
> >> + return;
> >> + }
> >>
> >
> > A seed node should also get a differential noderef, being the opennet
noderef.
> > Maybe you should factor this out into getLocalNoderef() or something ?
> >
> >
> >> + if(null != nfs.get("ark.pubURI")) {
> >> + fs.putOverwrite("ark.pubURI", nfs.get("ark.pubURI"));
> >> + }
> >> + if(null != nfs.get("ark.number")) {
> >> + fs.putOverwrite("ark.number", nfs.get("ark.number"));
> >> + }
> >> + if(isDarknet() && null != nfs.get("myName")) {
> >> + fs.putOverwrite("myName", nfs.get("myName"));
> >> + }
> >> + String[] physicalUDPEntries = nfs.getAll("physical.udp");
> >> + if(physicalUDPEntries != null) {
> >> + fs.putOverwrite("physical.udp", physicalUDPEntries);
> >> + }
> >> + if(!fs.isEmpty()) {
> >> + if(logMINOR) Logger.minor(this, "fs is '" +
> >> fs.toString() + "'");
> >> + sendNodeToNodeMessage(fs,
> >> Node.N2N_MESSAGE_TYPE_DIFFNODEREF, false,
0,
> >>
> > false);
> >
> >> + } else {
> >> + if(logMINOR) Logger.minor(this, "fs is empty");
> >> + }
> >> + }
> >> }
> >>
> >> ------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> Devl mailing list
> >> Devl at freenetproject.org
> >> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
>
>
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20080123/b3145ff3/attachment.pgp>