35 Commits

Author SHA1 Message Date
ben-toogood
4f0f4326df
router: improve router configuration (#1745)
* router: update default address to :8084

* service: add router to service options

* config/cmd: improve router setup
2020-06-26 10:38:11 +01:00
ben-toogood
c940961574
router: update interface (#1732)
* router: replace Start and Stop with Close

* router: update default network to micro

* router: update tests
2020-06-24 11:09:16 +01:00
Asim Aslam
29c1076950 refactor and cleanup some router code 2020-01-22 16:33:31 +00:00
Milos Gajdos
7f9b3b5556
Remove Solicitation from the network
Instead, when a new peer is discovered it is sent a sync message i.e. we
do the full sync when discovering peers
2020-01-16 19:43:10 +00:00
Milos Gajdos
5e85194a13
QueryStrategy to allow querying routes based on Advertising Strategy 2020-01-16 12:48:36 +00:00
Asim Aslam
6027a81f06 Update router comments 2019-12-17 08:28:45 +00:00
Asim Aslam
c445aed6b1 Cleanup and speedup network convergence along with direct messaging for connect and solicit 2019-12-07 19:54:29 +00:00
Asim Aslam
fd5c29addc
Add the ability to only advertise local routes or don't advertise at all (#932)
* Add the ability to only advertise local routes or don't advertise at all

* Reorder processing to shortcircuit no advertising
2019-11-11 15:28:37 +00:00
Milos Gajdos
7a4bff4e9f
Changed names of some variables. 2019-10-09 19:08:24 +01:00
Milos Gajdos
837597fe6f
Make Optimal strategy default. Collapse routing tables based on strategy 2019-10-09 17:24:38 +01:00
Milos Gajdos
96e564e402
Add router advertisement Strategy option to router. 2019-10-09 17:24:38 +01:00
Asim Aslam
fe94237448
Update router querying method (#834)
* Add address to router query options. Drop Query interface for QueryOptions

* Cleanup isMatch function

* Update network proto
2019-10-09 17:13:52 +01:00
Milos Gajdos
dddfb6f878
Fixed typos and simplified map iteration 2019-09-05 17:59:14 +01:00
Milos Gajdos
9161b20d6b
Add Solicit method to router interface
When calling Solicit, router lists all the routes and advertise them
straight away
2019-09-05 13:23:33 +01:00
Milos Gajdos
30dd3f54f0
Make router.Table docs consistent 2019-08-23 15:14:15 +01:00
Milos Gajdos
6beae23afd
First commit. Outline of the default network. 2019-08-23 15:14:15 +01:00
Milos Gajdos
cb1679fd8d
Add Start method to router
Added Start to router packages.
Fixed potential deadlocks.
2019-08-12 22:23:46 +01:00
Asim Aslam
4030ccc27b Move proxy/router 2019-08-05 17:44:33 +01:00
Asim Aslam
3f97743e34 Move router and proxy into network package 2019-06-21 17:20:31 +01:00
Asim Aslam
7936d74602 Update comments 2019-06-21 16:17:12 +01:00
Milos Gajdos
1765be049b
router.Start() is now router.Advertise(). Updated code documentation. 2019-06-20 13:04:58 +01:00
Milos Gajdos
10a3636a9f
Renamed variables, options and functions 2019-06-19 21:22:14 +01:00
Milos Gajdos
f62fcaad76
Added router ID. Deregister remote services when router is stopped.
Added ID function to router interface.

Network registry addresses are deregistered when the router is stopped.

Query has been updated to search for particular GW in lookups.
2019-06-19 18:03:42 +01:00
Milos Gajdos
6a33b7576b
Removed router watcher code duplication. Small code refactor. 2019-06-19 18:03:42 +01:00
Milos Gajdos
6e669d4611
Reorganised source. Renamed files. No Code change. 2019-06-19 18:03:42 +01:00
Milos Gajdos
95fc625e99
Big refactor. New Registry watchers. New options. New names. 2019-06-19 18:03:42 +01:00
Milos Gajdos
338e0fdf18
Lots of refactoring. We now have basic routing table watcher. 2019-06-19 18:03:42 +01:00
Milos Gajdos
5899134b66
Simplified API. Correct Router initialization. Debug printing. 2019-06-19 18:03:41 +01:00
Milos Gajdos
da18ea4ab5
Changed default router table modifications. Entry is now Route. 2019-06-19 18:03:41 +01:00
Milos Gajdos
9c57f32f58
Added Entry type. Basic implementation of Router and Table 2019-06-19 18:03:41 +01:00
Milos Gajdos
ad92e6821e
Removed DefaultTable() from global vars
We will not initialize DefaultTable as global var unless the users asks
for it explicitly.
2019-06-19 18:03:41 +01:00
Milos Gajdos
d7f0db04ec
Added network ID option. Added mutex to routing table. 2019-06-19 18:03:41 +01:00
Milos Gajdos
e4311c3a10
Redefined and polished some interfaces and data structures. 2019-06-19 18:03:41 +01:00
Milos Gajdos
ee8b6b3114
Redefeind interfaces; Added better modelled data strauctures
Router interface has been redefined which fits better with what we are
looking for.

Routing table now offers a comprehensive set of information about its
entries which will make up for rich queries in the future

Query interface has been defined to enable current basic and more
advanced queries in the future.
2019-06-19 18:03:41 +01:00
Milos Gajdos
08da7c1283
First commit: Outline of Router interface 2019-06-19 18:03:40 +01:00