Tim Beatham
a55dadf088
81-seperate-synchronisation-into-independent-procs
...
- Neaten code
2024-01-05 12:59:13 +00:00
Tim Beatham
1f8d229076
81-seperate-synchronisation-into-independent-process
...
- nil dereference due to concurrency issues (the method shouldn't be
concurrent)
2024-01-04 21:16:33 +00:00
Tim Beatham
02dfd73e08
81-seperate-synchronisation-into-independent
...
- Separated synchronisation calls into independent processes
- Commented code for submission
2024-01-04 13:10:08 +00:00
Tim Beatham
90cfe820d2
- Fixing errors with stale paths
2024-01-02 00:09:31 +00:00
Tim Beatham
dbc18bddc6
74-perform-dad
...
- Performing DAD to check if IPv6 address present before adding
outselves to mesh
- Changing name from wgmesh to smegmesh
2024-01-01 23:55:50 +00:00
Tim Beatham
fd29af73e3
72-pull-rate-in-configuration
...
- Added pull rate to configuration (finally) so this can
be modified by an administrator.
2023-12-31 12:47:45 +00:00
Tim Beatham
e7d6055fa3
60-unit-test-crdt-data-store
...
Provided unit tests for datastore.go
And fixed unit tets failing by different way of providing CA
2023-12-29 22:05:05 +00:00
Tim Beatham
41899c5831
66-improve-graph-dot-tool
...
Improving the graph dot tool so that it shows all
meshes
2023-12-25 01:10:11 +00:00
Tim Beatham
0b91ba744a
61-improve-unit-test-coverage
...
- Provided unit tests for g_map and 2p_map
2023-12-22 23:57:10 +00:00
Tim Beatham
67483c2a90
64-unit-test-two-phase-set
...
Provide unit tests for two phase set to make it more
transparent what exactly they are doing.
2023-12-22 23:57:10 +00:00
Tim Beatham
092d9a4af5
checking-latency-for-pull-only
2023-12-17 09:44:32 +00:00
Tim Beatham
19abf712a6
Fixing bug with nodes being removed
2023-12-12 12:45:41 +00:00
Tim Beatham
13bea10638
main - bugfix
...
- Nodes not being removed when deleted because when node gossips again
it is readded.
- Keep track of highest vector clock we have removed and used this as a
mark for determining if something is stale.
2023-12-11 11:09:02 +00:00
Tim Beatham
fe14f63217
53-run-commands-pre-up-and-post-down
...
- Ability to run a command pre up and post down
- Ability to be a client in one mesh and a peer in the other
- Added dev card to specify different sync rate, keepalive rate per
mesh.
2023-12-10 19:21:54 +00:00
Tim Beatham
1e263cc6a8
51-bugfix-routes-not-removing-when-withdrawn
...
- Routes are not being removed despite being withdrawn from the
configuration.
- Best path routes are not shared across interfaces
- Bug in consistent hashing wrong parameter passed caused by
refactorings.
2023-12-10 15:10:36 +00:00
Tim Beatham
815c4484ee
47-default-routing
...
Implemented default routing and improved size of gossip. Using 64 bit
hash funciton to identify vector.
2023-12-08 20:02:57 +00:00
Tim Beatham
661fb0d54c
45-use-statistical-testing
...
Keepalive is based on per mesh and not per node.
Using total ordering mechanism similar to paxos to elect a leader
if leader doesn't update it's timestamp within 3 * keepAlive then
give the leader a gravestone and elect the next leader.
Leader is bassed on lexicographically ordered public key.
2023-12-07 18:18:13 +00:00
Tim Beatham
64885f1055
45-use-statistical-testing
...
Using statistical testing to test whether the node has failed.
2023-12-07 01:44:54 +00:00
Tim Beatham
a3ceff019d
43-use-gravestones
...
Change of approach from keepalive to a noiseless protocol
2023-12-06 22:45:04 +00:00
Tim Beatham
3ef1b68ba5
BUGFIX: Hashing datastore to work out changes
...
Changed hashing implementation to work out if there are changes
in the data store
2023-11-30 15:58:26 +00:00
Tim Beatham
650901aba1
39-implement-two-phase-map
...
Implemented my own two phase map based on vector clocks
2023-11-30 02:02:38 +00:00