--------------
How about a cooling off period after receiving QueryRejected before sending anything else to the node.
--------------
Attached is a changed version of StandardNodeEstimator.estimate() using t/pSuccess.
I can't judge fairly. I do see my routing table now has some nodes with lower 'Search died probability' getting the most successes.
--------------
Looking in my routing table the node is 6215, so maybe this has been fixed. (If your lucky)
I saw this message received (one odd out of thousands)
The odd bit appears all over as part of 'Storable.Public-key.p='
The matching UniqueID had been Accepted.
Other standard traffic to the node was in between. Some but not all overloaded.
Sorry, (if) any output to freenets log is gone.
r 1065638149870 217.215.10.41:2229 ffffffffffffffffffffffffffa8a6d5db1ab21047302cf6076102e67559e15694846e3c7ceb4e18b6c652aedcfb337af057bdc12dcfc452d3ae4cfc5c3b7586804d4983bd5370db5512cf313e9a2c9c138c602901135c4cfbcbe92d29fe744831f63e3273908c4f62f21291840350f1e5{Close=false,Sustain=false,DataLength=0,{Storable.Public-key.y=4521ff8bbf369f463d5e2971fc6feecc4bf48e3ca4ec3271695a548e309cd72bf0130533565ef5c8abf047eb60f46022dbf8aefc9f056b88646591bca5d14f46d80c9e595ab9649c582fe736f36d2a508cd922db846c74987786d384bdefa48d19926999dcab79eb9aa1adab533d44f8336e892c2b6a9e4c10ef7ea2d6e5dc3d,UniqueID=8f1b775c3c5b4603,}}
r 1065638149870 217.215.10.41:2229 QueryRestarted{Close=false,Sustain=false,DataLength=0,{UniqueID=55830584a6c4181c,}}
r 1065638149870 217.215.10.41:2229 QueryRejected{Close=false,Sustain=false,DataLength=0,{HopsToLive=10,Attenuation=1,Reason=Node overloaded,UniqueID=3c5e49324e94d6ce,}}
r 1065638149920 217.215.10.41:2229 QueryRejected{Close=false,Sustain=false,DataLength=0,{HopsToLive=13,Attenuation=1,Reason=Node overloaded,UniqueID=1cfdd5241f6ff235,}}
r 1065638149920 217.215.10.41:2229 QueryRestarted{Close=false,Sustain=false,DataLength=0,{UniqueID=73b79529f6b631da,}}
r 1065638149920 217.215.10.41:2229 QueryRejected{Close=false,Sustain=false,DataLength=0,{HopsToLive=b,Attenuation=1,Reason=Node overloaded,UniqueID=9d3c05e7423182e9,}}
r 1065638149920 217.215.10.41:2229 QueryRejected{Close=false,Sustain=false,DataLength=0,{HopsToLive=d,Attenuation=1,Reason=Node overloaded,UniqueID=c6a677d37f05e937,}}
r 1065638149920 217.215.10.41:2229 DataNotFound{Close=false,Sustain=false,DataLength=0,{TimeSinceQuery=9eee6,UniqueID=73b79529f6b631da,}}
public long estimate(Key k, int htl, long size, double requestFailTime,
double pLegitDNF) {
double pConnectFailed = needConnection ?
rpConnectFailed.currentValue() : 0;
double pConnectSuccess = needConnection ?
1-rpConnectFailed.currentValue() : 1;
double tConnectFailed = needConnection ?
rtConnectFailed.currentValue() : 0;
double pSearchFailed = rpSearchFailed.currentValue();
double tSearchFailed = rtSearchFailed.currentValue();
double vSearchFailed = pConnectSuccess * pSearchFailed;
double vSearchSuccess = pConnectSuccess * (1 - pSearchFailed);
double pDNF =
epDNFGivenConnectionAndNotRejectedOrSearchFailed.guessProbability(k);
double tDNF = etDNF.guessTime(k) * htl;
double vDNF = vSearchSuccess * pDNF;
double vDF = vSearchSuccess * (1 - pDNF);
double pTransferFailed = rpTransferFailed.currentValue();
double tTransferFailed = rtTransferFailed.currentValue();
double vTransferFailed = vDF * pTransferFailed;
double vTransferSuccess = vDF * (1 - pTransferFailed);
double tSuccess = etSuccessSearch.guessTime(k) + ((double)size) /
etTransferRate.guessTransferRate(k);
double failure = pConnectFailed * tConnectFailed;
failure += vSearchFailed * tSearchFailed;
failure += vDNF * tDNF;
failure += vTransferFailed * tTransferFailed;
if (vTransferSuccess < MIN_SUCCESS_P) {
Core.logger.log(this, "vTransferSuccess is very low (" +
vTransferSuccess + "). Using " + MIN_SUCCESS_P + " for estimate", Logger.DEBUG);
}
double estimate = tSuccess +
failure/Math.max(vTransferSuccess,MIN_SUCCESS_P);
if ((double)Long.MAX_VALUE < estimate) {
Core.logger.log(this, "estimate exceeds maximum, reducing",
Logger.DEBUG);
return Long.MAX_VALUE;
}
return (long)estimate;
}_______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl
