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

Process communication #6

Open
dilbertfan opened this issue Oct 30, 2012 · 1 comment
Open

Process communication #6

dilbertfan opened this issue Oct 30, 2012 · 1 comment

Comments

@dilbertfan
Copy link
Collaborator

The entropynet protocol allows seamless networking between programs in a computer, computers in a LAN, or computers over routers into the internet.

EntropyNET is a core service launched at startup, and can be called at any time via it's JSRs

EntropyNET supports 65,535 computers on a LAN, 65,535 routers on the internet, and 65,535 ports per computer. Each program is able to tie is process number to the port it wants to use, allowing, say, a chat client and server to use the same port while having different task IDs. A program can define its own structure for dealing with the contents of messages, which can be simple integers or complex datasets with fully fledged parsers. The method of sending a message minimizes load on the computer while ensuring speed and accuracy.

Upon the call of the message_send lib, the A register should indicate the port to send to. It can optionally be set to 0 to send it to the port currently in use by the program. The B register should be set to the computer the program wants to send to on a local network, with 1 being the router. B can be set to 0 if the program wants to send a message to the computer it is running on. In the event that B is 0, the message will be treated as internal and will never escape the computer. The C register indicates the LAN to send to on the wide internet. The negotiation of the connection is handled by the router itself, so all the program has to know is the desired address.In the event that C is 0, the message will be treated as a LAN message and never touch the router of the internet.

The I router points to the message to send, and J its length.
The X, Y and Z routers are reserved for future expansion.

The following are examples of EntropyNET

0.0.34
Sends a message to port 34 "inside" the computer
0.134.80
Sends a message to LAN computer 134, port 80
234.500.6667
Send a message to LAN 234, computer 500, port 6667

@stmobo
Copy link

stmobo commented Jan 26, 2013

Heh. I remember doing something similar to this in ComputerCraft. The routing algorithm's the hard part. I guess I could help with the auxiliary functions and maybe the routing. I'll probably need to know how processes and the like are set up before I start, though (if I actually do it).

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

2 participants