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

RCP - Proposal for a lightweight network protocol #23

Open
enkore opened this issue Apr 8, 2012 · 3 comments
Open

RCP - Proposal for a lightweight network protocol #23

enkore opened this issue Apr 8, 2012 · 3 comments
Labels

Comments

@enkore
Copy link
Contributor

enkore commented Apr 8, 2012

Hi,
I'm currently working on this, you can see a very first draft at https://github.com/enkore/rcp

@enkore
Copy link
Contributor Author

enkore commented Apr 8, 2012

Of course stuff like connection handling and initiation isn't inside there, too. But maybe it would be smart to create a modular protocol, that handles both stateless and stateful transmission, so that one doesn't need to code everything twice...

I will also soon provide a reference implementation in C and Python. Why Python? I'll need that anyway for https://github.com/jtauber/dcpu16py

I am also planning to define a lightweight HTTP-like protocol. Just mentioning: something for chats is also brewing ;)

@mxrth
Copy link

mxrth commented Apr 8, 2012

I like the idea behind it, even it is too early to say if its realistic or not since there is no official transmission spec.
Modular design sounds interesting so far and seems to be a good idea.
About the assumption "one computer, one address": why is this necessary, and how should this be enforced?
I mean 18.4 quintillion addresses are way enough, each computer may easily have 2 or 3 addresses (if this is really needed)

@enkore
Copy link
Contributor Author

enkore commented Apr 8, 2012

Good point, I'll remove that in the 2nd version.

One of the main questions at the moment is: Will Notch give us already a pre-addressed network, so that we just need to write datagrams and target addresses in some memory-mapped region, or if we just have the bare metal and need to work out or own addressing.

If the latter is the case, then we have some serious work to do, since then we probably need a decentral way to pick addresses; routing also complicates this. It could become pretty hairy... but it's one of the easiers tasks out there... we have pretty good examples in the wild for the stuff we may need to accomplish.

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

No branches or pull requests

2 participants