1
0
mirror of https://github.com/XeonSquared/OC-Copper.git synced 2024-11-23 09:58:06 +11:00
Commit Graph

19 Commits

Author SHA1 Message Date
20kdc
eeb01821c3 Fix the hierarchial gateway and make the OC/CU/RE driver more resilient 2017-03-20 22:58:05 +00:00
20kdc
9df9823a4f Clarify possibilities of interaction between broadcast packets and hierarchial gateways.
The implementation in the oc/ subfolder of a hierarchial gateway goes
with the "allow subnets to cause higher-level broadcasts, and allow
 higher levels to cause subnet broadcasts, but don't let messages leak"
 solution
That is, the default if hierarchial gateways have no special
 handling for broadcast addresses.
2017-03-20 16:20:52 +00:00
20kdc
8e8b3f650d Make relib relatively backend-independent, increase the max timers to 0x400.
relib now relies on an additional parameter which should be
 require("culib"), but could instead be a Copper-like library.
2017-03-20 16:14:36 +00:00
20kdc
4a4cd485b1 Add an (as of yet untested) OC implementation of a Hierarchial Gateway 2017-03-20 00:40:28 +00:00
20kdc
c91f3bd2a9 Be more explicit in protocol.1 about packet alterations, add license header to occure.lua 2017-03-20 00:33:06 +00:00
20kdc
a998d3412c Clean up and add anti-OOM safety to culib, split data encode/decode to cdlib 2017-03-20 00:14:56 +00:00
20kdc
880a4dff08 Adjust the tuning parameters for real-world usage.
The tests assume a mesh network with known connections, the node doesn't,
 so unneeded packet leakage isn't really as controllable as I'd hoped.

What's definitely important is that the system doesn't cache entries for
 long enough that it starts continuously sending packets the wrong way
 no matter what.
2017-03-19 21:54:57 +00:00
20kdc
7f2d0c99a7 Uh, actually fix the stupid bug (How did this not get added again?) 2017-03-19 21:43:40 +00:00
20kdc
3f77445da7 Fix stupid bug in relib 2017-03-19 21:41:55 +00:00
20kdc
1cd7d82e98 Relib bugfixes
Hopefully should just be in general *better* now
2017-03-18 21:44:50 +00:00
20kdc
3497708747 Add occure 2017-03-18 21:21:27 +00:00
gamemanj
c5f174e6ed Fixes to RELib.
It should work now.
2017-03-18 18:30:14 +00:00
gamemanj
b5013044f6 Broadcast Address support. 2017-03-18 16:12:31 +00:00
gamemanj
d63ba8db06 Hopefully maybe implement the reliability layer. 2017-03-18 16:06:56 +00:00
gamemanj
aabbb554c6 Remove the fragmentation part of the reliablility layer
In practice it is unlikely that data that's too big for the reliability layer won't need splitting
 anyway by the application at some point, and the libraries are already too open to OOM DoS.
2017-03-18 15:31:25 +00:00
gamemanj
e77c203514 Write docs on a possible broadcast extension and tune culib.lua some more. 2017-03-18 13:33:26 +00:00
gamemanj
47ec74bc89 Lowered protocol packet size limit and changed how it's calculated, also changed testcase to be slightly less worst-case.
The previous testcase was "all nodes communicating randomly", basically a worst-case.
This testcase is somewhat more realistic, a set of nodes communicating between each other via other
 nodes, a given TO node recurring once every 5 seconds (approximately).
Notably, the 'packet transfer total' figure should be halved, as in the testcase pings and responses
 are used, but only responses are counted.
2017-03-18 12:28:46 +00:00
gamemanj
97fd892922 Set up a proper test of a simple Copper network.
The reliability layer isn't in use here, as it will be tested separately.
I need to adjust the base Copper protocol first.
2017-03-18 11:32:14 +00:00
20kdc
2b458b5df8 Add incomplete workspace, for now. 2017-03-18 09:37:56 +00:00