MLDonkey Forum Index
Homepage •  Bugs •  Tasks •  Patches •  SF.net Project Page •  ChangeLog •  German forum •  Links •  Wiki •  Downloads
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
chunk-request-rotation system bug (from hydranode blog)

 
Post new topic   Reply to topic    MLDonkey Forum Index -> Development
View previous topic :: View next topic  
Author Message
bogeyman
user


Joined: 13 Aug 2004
Posts: 52
Location: Germany

PostPosted: Fri Feb 18, 2005 4:53 pm    Post subject: chunk-request-rotation system bug (from hydranode blog) Reply with quote

Found this in the Hydranode blog:

Code:

...
On other news, I discovered mldonkeys are sending us chunks twice ... at first, it looked rather wierd - why on earth would they send us chunks twice... but then I realized - mules (and compatible clients) use chunk-request-rotation system - you request chunk1, chunk2, chunk3, you get chunk1, then you request chunk2, chunk3, chunk4, and get chunk2, etc. However, mldonkeys (some new ones, which use id 0x0a), apparently don't understand this logic, and start sending chunk2 and chunk3 twice, in the above example. Now hydranode detects these clients, and requests each chunk only once from them.
Madcat, ZzZz
# posted by Madcat : 5:02 AM  0 comments


Maybe someone checks the code?

So long, bogeyman
Back to top
View user's profile Send private message
Surround
user


Joined: 13 May 2004
Posts: 194
Location: Germany

PostPosted: Fri Feb 18, 2005 7:54 pm    Post subject: Reply with quote

I rather think madcat didn't understand "request parts" and "sending parts" messages ...

With request parts, one always requests 3 parts (3 pairs of start-offset and end-offset) of a file. If one client (eMule) sends only one of those 3 parts in return, it's ok, the "send data" package will contain the start-offset and the end-offset of the range sent. If mlDonkey sends all 3 requested parts, it's ok, the "send data" package(s) will contain the start-offset and the end-offset of the range sent.

If madcat thinks he does not need to parse the start and end-offsets of the received data package, and then request chunks again, even if he already received that range, just because he relies on eMule's behavior to never send all requested data, then this is a hydranode problem, not one of mldonkey!

I remember, he already stumbled over those messages some time ago ... Oh my dear, their is so much crap out there on the net ... some clients send the 3 chunks in reversed order ... LOL ...

.. sorry, no time to check the hydranode code Wink

It's hydranode requesting chunks twice, (if you carefully read what madcat wrote, you'll notice that!) and mldonkeys response to send the data twice is absolutly correct behaviour!
Back to top
View user's profile Send private message
Madcat
neophyte


Joined: 19 Feb 2005
Posts: 2
Location: Estonia

PostPosted: Sat Feb 19, 2005 2:13 am    Post subject: Reply with quote

There was no need to start up this discussion in the first place, because it's irrelevant. HydraNode behaviour was modeled based on my observations on how eMule's and eDonkeys behave [snippet from hydranode log], I just found it somewhat surprising that mldonkey behaved differently, then adjusted my code to compensate, and moved on.

I don't know why mules and edonkeys rotate chunks like that, and frankly, I dont care for the reasons, I just assume they have a good reason for it, just as mldonkeys have a good reason for doing it differently - and since I'm newcomer in the network, I just try to learn from how others behave, and behave the same way.

Madcat.
Back to top
View user's profile Send private message
Amorphous
skilled


Joined: 04 Sep 2004
Posts: 316

PostPosted: Sat Feb 19, 2005 7:21 am    Post subject: Reply with quote

it just happens that mldonkey doesn't get something right.
that's the problem when a protocol has no clear and open spec.
@madcat: thx for your comment.
Back to top
View user's profile Send private message
Miriup
neophyte


Joined: 11 Dec 2004
Posts: 26
Location: UAE

PostPosted: Tue Feb 22, 2005 7:21 pm    Post subject: Reply with quote

Amorphous wrote:
it just happens that mldonkey doesn't get something right.
that's the problem when a protocol has no clear and open spec.


Well then lets found the DSO = Donkey Standards Organisation (I've carefully chosen it) or an IETF Filesharing Working Group? We could publish the Donkey MFTP-RFC. Cool

Miriup.
Back to top
View user's profile Send private message MSN Messenger
Amorphous
skilled


Joined: 04 Sep 2004
Posts: 316

PostPosted: Tue Feb 22, 2005 7:44 pm    Post subject: Reply with quote

hehe. good idea. i would like to, but it's unlikely i have enough time for such a huge job...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    MLDonkey Forum Index -> Development All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Sourceforge.net Logo