On Saturday 08 November 2003 06:38 am, Ian Clarke wrote: > Tom Kaitchuck wrote: > > 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. > > Not sure what this code is trying to achieve, but it looks like it is > just attempting to have a more intelligent value for pDNF in the event > that the estimator doesn't have any data yet, in which case I think you > are right. Matthew? > > > 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; > > Its a toughie, but I don't think so. The whole "cost of a DNF is the > time to re-request" was always stretching reality a bit anyway, and this > is highlighted by the fact that, yes, if you aren't the originator you > won't be the one re-requesting, but even if you are the originator, you > won't necessarily re-request the data. > > The re-request idea is really just a non-arbitrary way to deal with DNFs > within the context of an overall estimate of how long it takes to get > data, but it shouldn't be taken *too* seriously. > > Given this, I think the existing code is probably ok.
After a bit more looking at the code. I think both of these bug reports are wrong as stated. I still think there are a number of bugs, But I'll repost those in a bit. _______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl
