diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2016-07-08 13:10:02 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2016-07-08 13:10:02 -0700 |
commit | 6d8de214eb5abd6ec03a8e9504e75dc2cbc58d2a (patch) | |
tree | 972b95576f4b63e5490587dec0b02cab8a08d93a /node | |
parent | 5bf3c54cd3040b8edfe44b80fa5c9e772f4be74a (diff) | |
download | infinitytier-6d8de214eb5abd6ec03a8e9504e75dc2cbc58d2a.tar.gz infinitytier-6d8de214eb5abd6ec03a8e9504e75dc2cbc58d2a.zip |
Docs and controller API version
Diffstat (limited to 'node')
-rw-r--r-- | node/README.md | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/node/README.md b/node/README.md new file mode 100644 index 00000000..01378c75 --- /dev/null +++ b/node/README.md @@ -0,0 +1,14 @@ +ZeroTier Virtual Switch Core +====== + +This directory contains the *real* ZeroTier: a completely OS-independent global virtual Ethernet switch engine. This is where the magic happens. + +Give it wire packets and it gives you Ethernet packets, and vice versa. The core contains absolutely no actual I/O, port configuration, or other OS-specific code (except Utils::getSecureRandom()). It provides a simple C API via [/include/ZeroTierOne.h](../include/ZeroTierOne.h). It's designed to be small and maximally portable for future use on small embedded and special purpose systems. + +Code in here follows these guidelines: + + - Keep it minimal, especially in terms of code footprint and memory use. + - There should be no OS-dependent code here unless absolutely necessary (e.g. getSecureRandom). + - If it's not part of the core virtual Ethernet switch it does not belong here. + - No C++11 or C++14 since older and embedded compilers don't support it yet and this should be maximally portable. + - Minimize the use of complex C++ features since at some point we might end up "minus-minus'ing" this code if doing so proves necessary to port to tiny embedded systems. |