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

Plan to follow #1

Open
midirhee12 opened this issue Apr 22, 2022 · 0 comments
Open

Plan to follow #1

midirhee12 opened this issue Apr 22, 2022 · 0 comments

Comments

@midirhee12
Copy link

There needs to be a general plan to follow when going about such a large project. With that being said, let's agree on some foundational things to start pushing this project forward. Then we can implement the very basics like Ethernet frames, IP, UDP, and so on.

A vocabulary needs to be established for a bucket of bits that can arbitrarily be passed around between compositions of arbitrary protocols. That means we need to account for arbitrary OSI layer, CPU architecture, NIC, number of bits in a byte, etc. The operating system cannot be assumed. And embedded support is absolutely necessary.

My first suggestion is message to follow the actor model. The message could be wrapped in a header of footer to create a totally new message to be passed around.

My only qualms is that this does not work for the header or footer of any protocol or any of the sections of a header or footer. However, is it really necessary for these to be viewed the same? There could be a simple consistent pattern for packing sections into a header or footer. There could be a constructor for each of these as well. If together needed to be specified, could the term "layer" be used?

If any single part of the planning gets too big, maybe let's create a separate issue for this. I don't realistically expect all of planning for this project to happen in this one GitHub issue. And if I'm being stupid, just let me know.

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

1 participant