-
Notifications
You must be signed in to change notification settings - Fork 20
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
Upgrade to NNG 2.0 for NanoRT #1154
Draft
JaylinYu
wants to merge
222
commits into
main
Choose a base branch
from
jaylin/nanort
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This is expected to be useful for new transports where we need the sock address to properly reply (think UDP with multicast). Signed-off-by: jaylin <[email protected]>
This is the initial implementation of UDP transport. It does in order guarantees (and consequently filters duplicates), but it does not guarantee delivery. The protocol limits payloads to 65000 bytes (minus headers for SP), but you really want to keep it to much less -- probably best for short messages that within a single MTU to avoid IP fragmentation and reassembly. This is unicast only for now (although there are plans for some support for multicast and broadcast as well as being able to perform automatic mesh building, but that will be in following work. Additional tunables are coming. This is only lightly tested at this point, and should be considered experimental. Its also undocumented.
fix link to TLS build instructions file. It was renamed from docs/BUILD_TLS.adoc to docs/BUILD_TLS.md in commit 6e5cf29
Signed-off-by: jaylin <[email protected]>
XPG8 defines getentropy() as the only good source for random numbers. However, real world use a bit more nuanced. On BSD systems, we would prefer to use arc4random as it avoids unnecessary system calls. On Linux however, getentropy is implemented in terms of getrandom, and should be used directly when available.
Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
This also allows to remove most of the transport headers. Only zerotier.h sticks around, and only for now. (We expect to eject it into a separate module.) Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
…G Log Signed-off-by: jaylin <[email protected]>
This also avoids a potential leak of thread attributes. although no current platform actually seems to do so.
Those old algorithms are not used anywhere, and are not recommended. TLS 1.2 support has been prevalent for over a decade.
Signed-off-by: jaylin <[email protected]>
This functionality was provided principally for libnanomsg compatibility. This saves some memory and eliminates some pointless functionality. While here, updated the socket options documentation to remove references to options already removed. Signed-off-by: jaylin <[email protected]>
This was an undocumented capability provided for libnanomsg. The correct way to obtain the same functionality is to use `NNG_OPT_LOCADDR`. Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
The idea here is to reduce the dynamic allocations used for URLs, and also the back and forth with parsing begin strings and port numbers. We always resolve to a port number, and this is easier for everyone. The real goal in the long term is to eliminate dynamic allocation of the URL fields altogether, but that requires a little more work. This is a step in the right direction. Signed-off-by: jaylin <[email protected]>
Also expose nng_url_sprintf() for users who need it. This avoids some need to do dynamic memory on some things. Soon the entirety of nng_url will be allocation free in the usual case. Signed-off-by: jaylin <[email protected]>
This eliminates most (but not all) of the dynamic allocations associated with URL objects. A number of convenience fields on the URL are removed, but we are able to use common buffer for most of the details. Signed-off-by: jaylin <[email protected]>
the separation of nni_url and nng_url. Signed-off-by: jaylin <[email protected]>
This provides safety by ensuring that applications do not depend on the size or layout of nng_url itself.
The inline parsing will be used internally to avoid some allocations.
We moved some of the tests out of the older Convey framework into the NUTS framework.
Signed-off-by: jaylin <[email protected]>
While TCP and UDP port numbers are 16-bits, ZT uses a larger (24-bit) port number.
Signed-off-by: jaylin <[email protected]>
This is a step on cleaning up our logic around NNG_OPT_URL. Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
This is intended to replace NNG_OPT_URL. Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
Signed-off-by: jaylin <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.