>> If it had to be a function of the key (and only the key) it could not take >> into account which nodes the node knows about and which nodes it doesn't. A >> routing algorithm based on the key (and only the key) would require perfect >> knowledge of the network. > >But what nodes the node knows about IS a function of the key. Or rather it >is a function of the earlier keys requested from this node, which is what >caused the key to be send to the node in question.
This is more like it - the routing algorithm is a function of the key plus the node's knowledge of the network (represented as a set of previously requested keys and the addresses their values were obtained from). Now if the routing algorithm can take into account previously requested keys, why can't it take into account performance/reliability metrics? This information is determined by the results of previous requests, so it is still a function of the previously requested keys. >Their is really no such thing as neighbor nodes, and the set of references >(addresses to other nodes) is not static. But the set of references _is_ a >function of the keys requested from the node. By neighbouring nodes I mean those nodes you know about. They are your neighbours in the sense that you can reach them in one hop. >Freenet assumes that all nodes can communicate. Knoweledge that a node >exists does not have to do with the physical topology of the network at >all, if it exists, then the node can know about it. Only nodes which know about each other can communicate. So when I talk about a graph describing the network topology, I mean the freenet topology not the internet topology - nodes which know about each other are connected by an edge. (If knowledge can be one-way then it's a directed edge.) >> >It is too a function, just not a function of the key value. But then >> >neither is the quality of the connections (for the two hundreth time). >> >> Not a function whose only variable argument is the key, then. Whatever. > >Mathematically, "function of key" means "function that has key as a >variable" and "function of only key" means "function whose only variable >is key", so you are just repeating what you disagreed with above. You're right of course. I think the point that I meant to make was this: you were saying that the topology was variable (route compression + caching), but that the routing algorithm was a function of the key, and I was saying that for the routing algorithm to be a function of the key you had to assume that everything else (including the topology) was constant. But now that I realise that you were saying it was a function of the key *plus the node's knowledge of the network*, my point is redundant. Michael _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
