Commit Graph

14 Commits

Author SHA1 Message Date
Paul Lorenz 8d11af3d97 Optimize network run loop. Fixes #1897
* When routers change (connect/disconnect), we re-check the mesh. We are passing in the routers to the channel and they can build up, which is unnecessary. We only need to signal once for all the routers that change since the last time we checked, that the mesh needs to be checked.
* We pass link changes through the run method, which is unnecessary since we pass it to a new goroutine. This inefficiency should be fixed.
* We're evaluating all faulted links for rerouting, even if they were still pending. Only reroute connected links.
* We're using time.After in each for loop, which can accumulate timers. Use a single Ticker instead.
2024-04-04 18:46:50 -04:00
Paul Lorenz f3d67b7f49 Update fabric imports 2023-09-28 23:34:28 -04:00
Paul Lorenz d1d0fe781b Update for storage API changes. 2023-04-25 11:32:33 -04:00
Paul Lorenz 4a1f234839 Add linter and update deps 2022-10-10 13:29:40 -04:00
Paul Lorenz b26fcf8909 Fix copyright 2022-06-29 16:59:46 -04:00
Paul Lorenz a731cd9aec Circuit failed events and rename terminator identity -> instanceId 2022-06-22 14:34:32 -04:00
Paul Lorenz 69bc2fb0cc Update to transport/v2 2022-05-10 11:58:41 -04:00
Paul Lorenz 9a344da855 Update to use transport library 2022-03-31 10:36:28 -04:00
Cam Otts 405492ce92 Route error codes (#335)
* Initial work on adding route error codes to route responses

* updated messaging

* Split out terminator incrementors
Added handling for Service Errors
Added initial steps at deleting misbehaving terminators

* Added test for destroying and settin gprecedence on terminators
Added handling for terminator errors in routing

* inverted error switch

* cleanup for pr

* PR comments

* refactored conditional printing to account for single node paths that don't have links

* added error log when route status

* added another misconfigured error

Co-authored-by: Paul Lorenz <paul.lorenz@netfoundry.io>
2022-03-23 12:51:49 -05:00
Cam Otts 725afe13de added allow traversal flag (#326)
* added allow traversal flag

* Added test to verify a single router connection that is marked untraversable fails path creating

* Updated default cost to be one step above the threshold to avoid overflow.

* Updated checks to only care about middle routers. Fixed relevant unit tests and added test with untraversable middle router.

* Refactor allowTraversal to be flipped to noTraversal

* default noTraversal to false
2022-03-02 10:33:04 -06:00
Cam Otts be30ee8026 Added cost to routers and relevant persistence and path checking. (#324)
* Added cost to routers and relevant persistence and path checking.

* removed router cost from config

* changed cost to be required on update

* removed some import reorderings and added fingerprint to be required

* missed one line
2022-02-23 10:14:00 -06:00
Paul Lorenz 5a54c9b041 Add circuit router implementation 2021-11-30 14:05:23 -05:00
Paul Lorenz 51a4fe8ed9 Import route evaluation with more efficient data structure 2021-11-19 15:17:56 -05:00
Paul Lorenz 4847cf1453 Add routing perf test and fix link cost check 2021-11-19 15:08:29 -05:00