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

Reply via email to