[eMule-Web]

[eMule-Web] (http://www.emule-web.de/board/)
-   eMule MOD - Development (http://www.emule-web.de/board/emule-mod-development/)
-   -   Release slot beendet Upload zu früh (http://www.emule-web.de/board/11116-release-slot-beendet-upload-zu.html)

Cobain86 29. June 2006 16:54

Release slot beendet Upload zu früh
 
hi
ich habe folgendes problem ich will einen Release slot reinhaben, das klappt auch ganz gut, zumindest mit der score verteilung.

jetz hab ich aber das problem bei meinem up sys,
ich habe es so reingemacht

Code:

  1. bool CUploadQueue::CheckForTimeOver(CUpDownClient* client){

  2.   uchar      requpfileid[16];

  3.   CKnownFile* currequpfile = theApp.sharedfiles->GetFileByID(requpfileid);

  4.   //Cuba Mod Up Kicker

  5.   //TOTAL 9.5

  6.   if(thePrefs.IsTotal95Enabled())

  7.   {

  8.       if(!client->IsFriend()

  9.         || !client->IsDownloading()

  10.         || !thePrefs.IsRSlotEnabled() && currequpfile->GetUpPriority()== !PR_VERYHIGH )  <---!!

  11.       {

  12.       if(client->Credits()->GetUploadedTotal() > 9.5*1024*1024)

  13.       {

  14.         Log(LOG_STATUSBAR, _T("User: %s hat bei QR: %u ca. %u KB bekommen"),client->GetUserName(),client->GetRemoteQueueRank(),client->GetSessionUp()/1024);

  15.         return true;

  16.       }

  17.       }


jedocht haut er den client mit dem Release file immer wieder raus(also auch bei den andren up sys die nach 1,5mb kicken usw.

weiß jemand wie ich die upFile Prio in der UploadQueue.cpp abfrage?

[edit by Pathfinder: Überschrift umformuliert um das Wort 'Problem' zu vermeiden! Siehe Board Rules und Checkliste vor dem Posten]

Xman 29. June 2006 18:25

der Fehler liegt hier:
Zitat:

if(client->Credits()->GetUploadedTotal() > 9.5*1024*1024)
nu überleg mal ;-)

Stulle 29. June 2006 22:29

ich steig mal ein beim raten...
if(client->Credits() && client->Credits()->GetUploadedTotal() > 9.5*1024*1027)

würdest du n geraden wert wie 9 oder 10 nehmen könntest du den code schöner schreiben mit "10<<20", aber ich denke nicht das das bei nem float auch ohne weiteres geht... könnte mich aber irren...

Xman 29. June 2006 22:31

Stulle.. bring ihn nicht auf flsche Fährten... lies mal was da steht:
client->Credits() && client->Credits()->GetUploadedTotal()

Stulle 30. June 2006 07:08

siehste, wer lesen kann ist klar im vorteil! ;)
im übrigen hatte ich sonst aber auch schon am anfang probleme weil ich nicht geschaut habe ob der Credits() pointer überhaupt existierte und nicht NULL war...
in anbetracht dessen, dass dies ja nu aber code für den UL ist sollte man wohl keine credits funktion nutzen, denn der eigentliche upload sollte nicht vom gesamt traffic der je geleistet worden ist beeinflusst werden...

trotzdessen stimmt mein vorschlag zur crash/ exception sicherheit wenn man wirklich unsinnigerweise dieses ziel haben sollte...

mfg stulle


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102