Got an idea for getting different sharesize in different hubs in quite an easy way.
Why not do it so that you are able to start multiple clients (2-3 should be enough??) and then have them talk to eachother and reporting number of hubs they are in.
Also, it would be good to have the downloadqueue shared between the clients so that files could be fetched from hubs that another client is connected to.
How could this be done? (just some ideas)
Shared memory:
number of hubs etc.. Just have one integer per client that is running here and then when the client should report this via the description it just adds them together. (just change so the variable that has number of hubs points to the shared memory segment.)
Downloadqueue:
One big shared memorysegment that you lock before changing and for checking what client that is currently downloading a specific file you have a clientid on all the files. Also you need a "owner" id of a download.
This would make it possible to have several client with different downloadqueues but still be able to fetch files from other hubs.
All this should be make some kind of standardized thing so oDC and dc++k etc could take advantage of.
Why this is needed.
- OP's generally dont want to share things in all hubs that they are op in, and also perfect for private hubs that you private stuff in.
- Being able to have a better overview of all the hubs that you are in.
One dc++ window for one network etc.
- If you are an OP in a hub and want to run dc++k or oDC you can do this the "correct" way and have the correct hubcount in the hubs that you are not op in. while still running the original dc++ client in hubs that you are a normal user in.
And if this is something that is not going to be implemented
atleast add tabs for arrange the windows within and also add something so you can select in the favories list what hubs that you dont want to share anything in. And if you are worried about people that will abuse this in some manner, make it so you can only download filelists within hubs that you do not share anything in.