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

Reply via email to