OK, so I've finally gotten around to looking at the NGrouting source, and I
have a few questions. Which are hopefully simple to answer.
First in node/rt/StandardNodeEstimator.java on line 162 ish there is:
if (pDNF==0)
pDNF = pLegitDNF;
Shouldn't this be:
if (pDNF<pLegitDNF)
pDNF = pLegitDNF;
That would seem to make more since, unless 0 indicates something else.
Second a few lines later there is something like:
double tDNF = etDNF.guessTime(k) * htl;
double pNotConnectFailedOrSearchFailed =
(1 - pConnectFailed) * (1- pSearchFailed);
estimate += pNotConnectFailedOrSearchFailed
* (pDNF - pLegitDNF) * (tDNF + requestFailTime);
Now, if I read this correctly, (I'm assuming that this code is used to obtain
the next node to route to for each node in the chain.) We find the
probability of a legit DNF and then multiply that by the estimated time to
re-request that. (tDNF + requestFailTime). However tDNF is multiplied by HTL,
(Which I assume to be the current HTL). The problem with this is that, if we
are not the originating node, we are not going to re-request it if it fails.
So instead it will be re-requested from the original node. So shouldn't we be
trying to estimate how long that would take? IE: double tDNF =
etDNF.guessTime(k) * MAXhtl;
_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl