Pop quiz: Downloading in ADC

The second pop quiz is as follows;
‘Jake’ using an unmodified version of DC++ 0.691. He’s connected to 2 (two) ADC hubs with the nicks “jake99″ and “mary77″. He’s looking for the file A. He find user “foobar” in one of the hubs who have the files he’s looking for. This user is also using an unmodified version of DC++ 0.691. He start to download the file, going in 20 KiB/s and everything’s fine. But, he start to think, “what will happen if the user goes offline? better I auto search for it to check if there’s more sources”. And he does, and find user “john111″. Jake adds the user to list of sources (through the right click command menu).

Interesting in things as Jake is, he want to see what other goodies “john111″ has in his share. Jake tries to get the file list. Nothing. Nothing happens. He checks the queue, DC++ has properly queued the file list, but isn’t connecting. Nothing appear in the transfer view. The transfer view columns are fine, Jake can see that he has two downloads going (one of them the file A) and three uploads.

 But there’s no error message in the queue or the transfer view window. He deletes the file list from the queue, and tries again to download it. Same thing. Now, why can’t Jake download the file list? “john111″ isn’t blocking uploads by the looks of it in the search window (Jake can see that “john111″ has 5 slots open out of 7). Jake and “john111″ is both connected with Active mode.

The two hubs are both resident on the same university campus, where a lot of people connect from. Meaning, a lot of people have the same external IP. (Jake find out that “john111″ has the same IP as “foobar” and one of Jake’s uploads, and he draws the conclusion that those three are all living on the same campus.)

Jake asks his friend in the other room to try to download “john111″’s file list (and other files), and it works fine. It also works for other users in the same hub. Jake asks “john111″ to change his nickname to “john112″. No change in connectivity. “john112″ tell Jake to try and search for file B and try to download it. Same thing happens with file B. File B is now queued, but there’s no connectivity and no error message.

So; why can’t Jake download the file list or any other file? (File A has been downloading the entire time, now at 34 %.)

a) Jake is using different user names.
b) there’s a bug in Jake’s copy of DC++.
c) “john112″ and everyone else is lying, at Jake’s expense.
d) none of the above… (fill in what the reason is)

It would be neat if you have an explanation why you chose that particular option, but you don’t have to; I’ll explain later which option/answer is correct, and why.

10 Responses to “Pop quiz: Downloading in ADC”

  1. poy Says:

    i would say that since Jake is already downloading the file A from “john111″, his DC++ doesn’t allow him to begin another download from “john111″ unless file A is completed/interrupted.
    and the thing about “john112″ is because “john112″ still has the same CID “john111″ had, so Jake’s DC++ 0.691 will treat them as being the same users.

    the topic is “Downloading in ADC”, but wouldn’t it be the same if the hub where Jake and “john111″/”john112″ are was an NMDC one?

  2. Fredrik Ullner Says:

    No, this is an ADC thing only.

    You overlooked what I wrote. Jake is downloading directly from “foobar”. File A isn’t corrupted or completed - it wouldn’t matter in this case if it would. Jake cannot download (*anything*) from “john111″ because of something special about ADC and DC++.

    “john111″ and “john112″ is the same user, yes, we and Jake know that and that isn’t the “problem” at hand. But it isn’t far away. You are on to something, just think further. :)

  3. Fredrik Ullner Says:

    Hm… I perhaps forgot something important: “foobar” is in “HubA” and “john111/2″ is in “HubB”.

  4. poy Says:

    anyone else? i’m not gonna solve this by myself!

    is it related to the IPs? you said many users, and also the hubs, have the same IPs, there must be a reason why you said that…

  5. Fredrik Ullner Says:

    There must be? :) It isn’t called “quiz” for nothing. ;)

  6. poy Says:

    hmm… maybe DC++ doesn’t allow 2 downloads from the same IP on an ADC hub? but i thought this was possible…

  7. Fredrik Ullner Says:

    Fine. It has nothing to do with the IP. (Although that can be used as a hint to understanding the problem if not so many people in this case have the same IP.)

    In your first post, you said something about “same users”. Think about that. Who is “the same user”?

  8. poy Says:

    i think i’m closer now! (and my brain is gonna explode too…)
    i would say “foobar” and “john111/2″ is the same user, who has a different nick on each hub. and since the hubs are ADC ones, the CIDs of these 2 (but actually 1) users are the same. and Jake’s DC++ doesn’t allow him 2 downloads at the same time from the same CID.
    -> option C :)

  9. Fredrik Ullner Says:

    We have a winner! :)

  10. DC++: Just These Guys, Ya Know? » Blog Archive » Answer to Pop quiz: Downloading in ADC Says:

    […] I think this quiz was a little harder than the previous, but nontheless we have a winner, and it is (again) poy. Congrats. You win a free trip to the public DC dev hub. (Blatant plug ) […]

Leave a Reply

You must be logged in to post a comment.