Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Put BitTorrent emulation profiles in files #5

Open
sywesk opened this issue Feb 8, 2014 · 7 comments
Open

Put BitTorrent emulation profiles in files #5

sywesk opened this issue Feb 8, 2014 · 7 comments
Milestone

Comments

@sywesk
Copy link
Contributor

sywesk commented Feb 8, 2014

All bittorrent clients are hard-coded into RM.cs. I think we should put them in a separate XML or something like that, to be able to dynamically add / remove them without compiling. It would also make the RM.cs more readable.

@apiweb
Copy link
Contributor

apiweb commented Feb 12, 2014

I agree, I think it would be better, and become the quickest and easiest upgrade. If you want I can try to implement this functionality. 👍
But before we would have to create a standard for XML, have any suggestions? :-D

@NikolayIT
Copy link
Owner

I agree with you guys. I personally prefer JSON files.

@NikolayIT NikolayIT modified the milestone: 0.44 Jan 7, 2016
@silverlays
Copy link

I have a suggestion (i don't made it, only taken from Ratio Master 1.9.1)

http://pastebin.com/5x0vcLWp

If it can help...

@apiweb
Copy link
Contributor

apiweb commented Dec 24, 2016

I started working on this feature.
I'm using JSON, and for this I installed the Newtonsoft.JSON library.

@apiweb
Copy link
Contributor

apiweb commented Dec 24, 2016

I am still in doubt, between using a JSON file for each software. (Ex: A BitComet.json file and all its versions in, another for uTorrent, etc ...) or use a single file for all clients.

For now, I'm using a single Json file, with all the clients inside.
Following this model:
http://www.jsoneditoronline.org/?id=d5aa3d7d5011b8c8091dcdba32fb8b90

@NikolayIT
Copy link
Owner

NikolayIT commented Dec 24, 2016

All clients in separate files will allow downloading new clients separately.
👍 for separate files.

@sywesk
Copy link
Contributor Author

sywesk commented Feb 21, 2017

@apiweb I see that you took each client profile and put them in separate objects from their client name, and then in each one of them you have the name + versions. Isn't that a bit redundant ? I think you can just put the version as the member name like :

"BitComet": {
    "1.20": {...}
}

Original :

"BitComet":{
    "BitComet 1.20":{...}
}

What do you think ?

Aside from that, the whole file looks good to me :)


For the separate files, there's still the granularity to choose : client level, with all their versions, or version level ?

Also, couldn't the JSON be seen as a little database ? thus being updated by the software at runtime with an updater / package manager kind of (and the database could be edited by hand when needed, as it's json). I'm not advocating this approach, just bringing another way of seeing the problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants