Remove All Sources

Archived discussion about features (predating the use of Bugzilla as a bug and feature tracker)

Moderator: Moderators

Locked
ProbablyNot
Posts: 2
Joined: 2004-12-07 12:55

Remove All Sources

Post by ProbablyNot » 2004-12-07 14:04

The Problem:
You search by filename and find hundreds of search results with many TTHs. You then sort by TTH and look for the for the most popular one because the odds are better to find someone sharing it (It also promotes the overall health of the filesharing system). Mind you, you have to do this by eye since it doesn't tell you on the bottom of the search results grid how many rows are currently highlighted when you select them. You then add them as a source for your file to download. What happens now? You have a lot of connections being attempted to a lot of different users all at once. The internet connection is flooded, "Connection Timeouts" abound, and it is difficult to grab a slot. You tried to grab that second bone and the one you had just fell into the lake. What must you do now? Remove sources one by one and, whether it is 35 sources or 135, it is still a pain.

The Solution:
A simple "Remove All Sources" option, followed by a "Are you sure you want to remove all Sources from xxxxxxxx.xxx?", would make it easy to begin from scratch while still keeping what you've downloaded thus far.

(A kindly coder may elect to throw in that Rows Selected irk glossed over above)



thanks

ProbablyNot
Posts: 2
Joined: 2004-12-07 12:55

Remove All Sources

Post by ProbablyNot » 2004-12-07 15:22

Sorry.
Just added it as <A href=http://dcplusplus.sourceforge.net/cgi-bin/bugzilla/show_bug.cgi?id=363> bug (enhancement)# 363 </A>.

Don't worry. I'll get the hang of this yet.

Wisp
Posts: 218
Joined: 2003-04-01 10:58

Re: Remove All Sources

Post by Wisp » 2004-12-08 13:24

You can also delete the 'file lists' folder in the download queue, then the sources which should be added will be deleted

slicemaster101
Posts: 11
Joined: 2003-08-01 13:08
Contact:

Re: Remove All Sources

Post by slicemaster101 » 2004-12-16 03:37

ProbablyNot wrote:The Problem:
You search by filename and find hundreds of search results with many TTHs. You then sort by TTH and look for the for the most popular one because the odds are better to find someone sharing it (It also promotes the overall health of the filesharing system). Mind you, you have to do this by eye since it doesn't tell you on the bottom of the search results grid how many rows are currently highlighted when you select them. You then add them as a source for your file to download. What happens now? You have a lot of connections being attempted to a lot of different users all at once. The internet connection is flooded, "Connection Timeouts" abound, and it is difficult to grab a slot. You tried to grab that second bone and the one you had just fell into the lake. What must you do now? Remove sources one by one and, whether it is 35 sources or 135, it is still a pain.

The Solution:
A simple "Remove All Sources" option, followed by a "Are you sure you want to remove all Sources from xxxxxxxx.xxx?", would make it easy to begin from scratch while still keeping what you've downloaded thus far.

(A kindly coder may elect to throw in that Rows Selected irk glossed over above)



thanks


I agree this feature is a must. Anyways, I accidentally started a new thread on this very same topic (sorry admins). Anyways, this type of feature wouldn’t be that hard to implement either.

Slice
!!DC++ RULES!!

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Re: Remove All Sources

Post by GargoyleMT » 2004-12-16 11:33

slicemaster101 wrote:Anyways, this type of feature wouldn’t be that hard to implement either.

Please, don't say such things. If you can do it, submit a patch. If you cannot, please don't try to estimate how hard it is or how long it would take. :)


That aside, one of the real solutions per the original description is to group search results. And, presumably, to try only a limited number of sources at a time. (Or maybe the original poster is being affected by the SP2 change in concurrent connections.)

slicemaster101
Posts: 11
Joined: 2003-08-01 13:08
Contact:

Re: Remove All Sources

Post by slicemaster101 » 2004-12-16 19:22

GargoyleMT wrote:
slicemaster101 wrote:Anyways, this type of feature wouldn’t be that hard to implement either.

Please, don't say such things. If you can do it, submit a patch. If you cannot, please don't try to estimate how hard it is or how long it would take. :)


That aside, one of the real solutions per the original description is to group search results. And, presumably, to try only a limited number of sources at a time. (Or maybe the original poster is being affected by the SP2 change in concurrent connections.)


Ok your right, I’m no programmer so I don’t know for sure how hard it would be to implement this feature, but I figure that the code is pretty much already there since we already have the ability to remove download sources one by one. Based on that assumption all it would take is some tweaking of code that already exists and is currently implemented.
!!DC++ RULES!!

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Re: Remove All Sources

Post by GargoyleMT » 2004-12-17 13:48

slicemaster101 wrote:Ok your right, I’m no programmer ... I figure that ...

Yes, it's probably only 25 lines of code, or so. Or it could be more or a few less. I was thinking that "Remove Source > All" would be a good way to do it, with a separator following it, followed by the nicknames of the real sources. That requires looking at how the resource IDs for the individual users are handled, and seeing if bumping them up to make room for an "All" is good. If not, it could be a fun little bit of adjusting the code, testing to make sure it works, and that there are no accidental issues introduced. And sometimes when you get into such a circumstance, you realize that the underlying feature you're changing needs to be rewritten.

As one of my co-workers says: You can make anything seem simple by talking stupid. You're not stupid, you're trusting your intuition to be a good judge of programming difficulty, which isn't a sound judgement.

Guitarm
Forum Moderator
Posts: 385
Joined: 2004-01-18 15:38

Post by Guitarm » 2004-12-17 15:59

Good quote, I think I'll borrow that one.

Sure, alot of lines to write is a bit tedious, but isn't it the complexity of the code that needs to be written the real challenge?
"Nothing really happens fast. Everything happens at such a rate that by the time it happens, it all seems normal."

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2004-12-19 15:20

Guitarm wrote:Sure, alot of lines to write is a bit tedious, but isn't it the complexity of the code that needs to be written the real challenge?

I dunno. How do you differentiate between:

- defining the feature well
- figuring out the user interface
- evaluating the existing code you'll need to modify
- writing the code
- testing the code

Anyhow, I think this has gone a little off track.

Guitarm
Forum Moderator
Posts: 385
Joined: 2004-01-18 15:38

Post by Guitarm » 2004-12-19 16:16

GargoyleMT wrote:
Guitarm wrote:Sure, alot of lines to write is a bit tedious, but isn't it the complexity of the code that needs to be written the real challenge?

I dunno. How do you differentiate between:

- defining the feature well
- figuring out the user interface
- evaluating the existing code you'll need to modify
- writing the code
- testing the code

Anyhow, I think this has gone a little off track.
Oh, sure. But what I meant was that if you've solved all of the points except "-writing the code" you have kinda solved the problem right? :)

Anyway, I agree, this has gone way off track :wink:
"Nothing really happens fast. Everything happens at such a rate that by the time it happens, it all seems normal."

joakim_tosteberg
Forum Moderator
Posts: 587
Joined: 2003-05-07 02:38
Location: Sweden, Linkoping

Post by joakim_tosteberg » 2004-12-20 01:27

Guitarm wrote:
GargoyleMT wrote:
Guitarm wrote:Sure, alot of lines to write is a bit tedious, but isn't it the complexity of the code that needs to be written the real challenge?

I dunno. How do you differentiate between:

- defining the feature well
- figuring out the user interface
- evaluating the existing code you'll need to modify
- writing the code
- testing the code

Anyhow, I think this has gone a little off track.
Oh, sure. But what I meant was that if you've solved all of the points except "-writing the code" you have kinda solved the problem right? :)

Anyway, I agree, this has gone way off track :wink:
Wat I'm aware of you can't thest the code before you have written it :wink: . And then you reach the testingstage you might realize that something not is that good so you'll have to redo everything.

ivulfusbar
Posts: 506
Joined: 2003-01-03 07:33

Post by ivulfusbar » 2004-12-20 03:02

You can actualy partly test it without writing it in an abstract sort of way. ;))

Also a sort of sidenote to what happens when dc++ tries to initiate alot of handshaking in a short period of time. DC++ will only accept a certain amount of accept()'s within a given period. This was added partly to make sure the number of threads used in dc++ doesn't have a unlimited thread delta growth. ;))
Everyone is supposed to download from the hubs, - I don´t know why, but I never do anymore.

Guitarm
Forum Moderator
Posts: 385
Joined: 2004-01-18 15:38

Post by Guitarm » 2004-12-20 04:53

Hm, I'm too old, tired and undereducated to go into a hairy, off track discussion about overall software design. I'm also lazy and a notorious underachiever so this is a big stretch for me..

Joakim: Yes, I agree to a certain point to that but, If you reach a stage where you've coded everything and, during testing, discover that you totally misunderstood the problem and that the design is a total flaw - Well, then you obviously have a big problem. This problem cannot be solved by code. So - back to square one - redefine/redesign the feature/program.

fusbar: Absolutely - I'm not sure if I want to compare the complexity of modern software with, for example, Alan Turing's abstract ideas of a machine but essentially it's the same principle. And yes, I can understand the parallelism problem in DC++ and the nr of threads that needs to stay synchronized. I do, however, have a vague memory of you having a solution to that problem, right? :)
"Nothing really happens fast. Everything happens at such a rate that by the time it happens, it all seems normal."

DeathStalker77
Posts: 38
Joined: 2003-11-15 22:10
Location: Hell

Handshakes/Accepts

Post by DeathStalker77 » 2004-12-23 17:30

DC++ will only accept a certain amount of accept()'s within a given period. This was added partly to make sure the number of threads used in dc++ doesn't have a unlimited thread delta growth. ;)


ivulfusbar,

Would this be why I see DC timing out a lot, even getting filelists, and even when the other user(s) have free slots? I'm talking about situations where there may be 25-30+ active downloads, and maybe a hundred (or more) waiting to connect.

Could you advise us of what the limitations are? Time & thread/connection-wise?

The issue of timeouts and non-connectivity, even with autogrants selected or free slots available, has had me concerned, but I was chaulking it up to network congestion.

--- DeathStalker

Locked