Automatically adjust slots according to set hub:slot
Moderator: Moderators
Automatically adjust slots according to set hub:slot
Many hubs have a required hub:slot ratio, often 1:1 or higher. When I go into more hubs that usual, I have to open more slots. This can get repetitive and annoying. I would like a Constant Hub:Slot setting. DC++ opens and closes slots when you connect or disconnect from a hub.
I can't believe I was just thinking of how I might implement something very similar to this not more than two minutes before reading this post.
The problem I thought of is when there are people with the same nickname in separate hubs, since it would involve a bit of tricky work (which may not even be possible in all situations) to determine which hub they are in, and that work would probably not be instant and so you’d leave the person connecting waiting. For this circumstance I say just pick one and pretend they are part of that hub. For everybody else, you should already know what hub they are in, and so then able to decrease the right advertised slots.
But then I rethought, thinking about the protocol. Doesn’t the client receive information from the hub with connect strings for any connection that’s about to occur? If so, this information would already be associated with just a specific socket, but I then stepped back and realized at a much higher level its already associated with a single hub, the same hub that the other person is on.
Are there any mods which have features similar to either of our descriptions?
That’s what I was thinking of.ChunkyQ wrote:I would like a Constant Hub:Slot setting.
But now you’re confusing me. I was thinking of a preset amount of advertised slots for each hub you are in.ChunkyQ wrote:DC++ opens and closes slots when you connect or disconnect from a hub.
The problem I thought of is when there are people with the same nickname in separate hubs, since it would involve a bit of tricky work (which may not even be possible in all situations) to determine which hub they are in, and that work would probably not be instant and so you’d leave the person connecting waiting. For this circumstance I say just pick one and pretend they are part of that hub. For everybody else, you should already know what hub they are in, and so then able to decrease the right advertised slots.
But then I rethought, thinking about the protocol. Doesn’t the client receive information from the hub with connect strings for any connection that’s about to occur? If so, this information would already be associated with just a specific socket, but I then stepped back and realized at a much higher level its already associated with a single hub, the same hub that the other person is on.
Are there any mods which have features similar to either of our descriptions?
My Visual Studio .NET 2003 is licensed under my name, and the same for my operating system... What about you?
I surf on an OC3 without limitations, two to be exact, and I'm not joking.
I surf on an OC3 without limitations, two to be exact, and I'm not joking.
-
- Forum Moderator
- Posts: 366
- Joined: 2004-03-06 02:46
since there is no protocol standard.. it will be hard to even get the min slot info... also.. for this feature to work.. dc would have to keep track of the slot ratio... and as a result of that also max slots... too much numbers to take into consideration for this to be good... what should DC++ do if the rules doesn't match? exit the hub?
http://whyrar.omfg.se - Guide to RAR and DC behaviour!
http://bodstrom.omfg.se - Bodströmsamhället, Länksamling om hoten mot vår personliga integritet
http://bodstrom.omfg.se - Bodströmsamhället, Länksamling om hoten mot vår personliga integritet
Obviously this would only affect hubs that either identify or even require DC++.cyberal wrote:since there is no protocol standard.. it will be hard to even get the min slot info
The expected ratio would be constant. It would just always change the number of slots so that the ratio of hubs:slots equals the expected ratio, at least in ChunkyQ's suggestion.cyberal wrote:dc would have to keep track of the slot ratio
Are you speaking of my suggestion or CunkyQ's? Because for ChunkyQ's, it already keeps track of max slots, and that's what is always being changed when needed.cyberal wrote:and as a result of that also max slots
I see only one new number needed for CunkyQ's suggestion, a defined ratio number. For my suggestion, information for ammount of slots would need be moved from the entire DC++ program, into information stored for each hub.cyberal wrote:too much numbers to take into consideration for this to be good
My suggestion would however be intentionally lying to the hub's in relation to what their share description tags should be, but then again I have still never found where its documented that hubs should always expect that this information is global for the entire DC++ program.
Code: Select all
S = number of slots you have open.
My Visual Studio .NET 2003 is licensed under my name, and the same for my operating system... What about you?
I surf on an OC3 without limitations, two to be exact, and I'm not joking.
I surf on an OC3 without limitations, two to be exact, and I'm not joking.
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
Hello, welcome to the issue that's makes the oft-requested per-hub shares nigh impossible.Qbert wrote:The problem I thought of is when there are people with the same nickname in separate hubs, since it would involve a bit of tricky work (which may not even be possible in all situations) to determine which hub they are in
No, Cyberal is referring to the fact that there are certain hubs that place a limitation on how many slots you can open up, at maximum. It's like maximum hub count, except different.Qbert wrote:Are you speaking of my suggestion or CunkyQ's? Because for ChunkyQ's, it already keeps track of max slots, and that's what is always being changed when needed.
[ 660153 ] Automatic slot configuration Hubs based
This would affect all hubs that care how many slots a user hasQbert wrote:Obviously this would only affect hubs that either identify or even require DC++.cyberal wrote:since there is no protocol standard.. it will be hard to even get the min slot info
Qbert wrote:The expected ratio would be constant. It would just always change the number of slots so that the ratio of hubs:slots equals the expected ratio, at least in ChunkyQ's suggestion.cyberal wrote:dc would have to keep track of the slot ratio
The aspected ratio can never be a constant, since all hubs have different slots per hub rules. Let's say you have your constant to 2slots/hub and enter a hub that demands 3slots/hub... what to do then?
I'm speaking of the thread starters suggestion.. Your belongs in it's own thread. If that 3slots/hub hub had a max 10 slots rule... you can't enter more than 3 hubs or you will violate their rules.Qbert wrote:Are you speaking of my suggestion or CunkyQ's? Because for ChunkyQ's, it already keeps track of max slots, and that's what is always being changed when needed.cyberal wrote:and as a result of that also max slots
*number of hubs open, *number of slots open - *minslot, *maxslot, *slotratio & *maxhubs for each hub you are in. And all this must match.Qbert wrote:I see only one new number needed for CunkyQ's suggestion, a defined ratio number. For my suggestion, information for ammount of slots would need be moved from the entire DC++ program, into information stored for each hub.cyberal wrote:too much numbers to take into consideration for this to be good
http://whyrar.omfg.se - Guide to RAR and DC behaviour!
http://bodstrom.omfg.se - Bodströmsamhället, Länksamling om hoten mot vår personliga integritet
http://bodstrom.omfg.se - Bodströmsamhället, Länksamling om hoten mot vår personliga integritet
cyberal wrote:If that 3slots/hub hub had a max 10 slots rule... you can't enter more than 3 hubs or you will violate their rules.
Qbert wrote:My suggestion would however be intentionally lying to the hub's in relation to what their share description tags should be, but then again I have still never found where its documented that hubs should always expect that this information is global for the entire DC++ program.Code: Select all
S = number of slots you have open.
My Visual Studio .NET 2003 is licensed under my name, and the same for my operating system... What about you?
I surf on an OC3 without limitations, two to be exact, and I'm not joking.
I surf on an OC3 without limitations, two to be exact, and I'm not joking.