Commit Graph

371 Commits

Author SHA1 Message Date
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
8fcfbc0d20 Strip unnecessary continue statement 2020-01-16 17:33:53 +00:00
472186c1be Code consistency. Small bug fix. 2020-01-16 17:04:04 +00:00
60c05bd899 Find the best routes in the routes we would advertise based on Strategy 2020-01-16 16:53:39 +00:00
793e6013e5 Advertise routes with configured strategy. Simplify Sync apply logic 2020-01-16 16:42:23 +00:00
eda8b00f84 Send only best routes via Sync. Only apply best routes. 2020-01-16 16:08:49 +00:00
689ae7cfc7 Storing tunnel.Session rather than transport.Client 2020-01-16 00:28:58 +00:00
19dbd77402 fix net masking in listed routes 2020-01-16 00:12:38 +00:00
33a9b3bc17 mask the route before sending 2020-01-15 23:06:58 +00:00
6562154573 Fix the next panic 2020-01-15 21:38:37 +00:00
b3e3dac975 Merge branch 'master' of ssh://github.com/micro/go-micro 2020-01-15 21:02:58 +00:00
f20e4daa60 fix rand panic 2020-01-15 21:02:53 +00:00
36928b716c Fixed bug:m network.proto backwards compatibility unmarshal 2020-01-15 19:45:43 +00:00
7c7b0ced5f Merge pull request from milosgajdos83/network-hackery
[WIP] Network hackery
2020-01-14 20:28:32 +00:00
c67ef7e017 Bug fix: skip sending sync message if the peer is not in our graph 2020-01-14 19:37:50 +00:00
dcd925f1e5 Code cleanup; Indentation. 2020-01-14 18:48:42 +00:00
0ea56a5ffe Fixed tests 2020-01-14 18:22:58 +00:00
821fda41ae Added Status method to network.Node fixed random segfaults. 2020-01-14 18:12:36 +00:00
b699d969e4 if the address is produced by a default route don't hash it () 2020-01-14 11:20:13 +00:00
994d371ff1 Removed redundant comments. Add proper PruneStalePeers test. 2020-01-14 10:49:34 +00:00
a91dad04ee Increment node error count and prune when Max limit is hit 2020-01-13 22:22:12 +00:00
b4261e8cf9 Updated log and comments 2020-01-13 20:14:30 +00:00
770c7686ba Fix nasty bug when graph action may not have been executed in some
branches
2020-01-13 20:14:30 +00:00
11904e1137 Regular sync with network every 5 minutes. Apply routes before peering. 2020-01-13 20:14:29 +00:00
1e009e52dd Avoid having the same log statements in initNodes and resolveNodes 2020-01-13 20:14:29 +00:00
bf42c028fb Added sync message. Refactored connect flow. Adverts are gossipped.
This commit adds a Sync message which is sent as a reply to Connect
message. This should in theory speed up convergence of a (re)connecting
node.

We respond to Sync message by sending a peer message back to the peer
origin of the Sync message. We consequently update our routing table and
peer graph with the data sent in via Sync message.

We now gossip advertse to up to 3 randomly selected peers instead of
sending a multicast message to the network.

Equally, Solicitation i.e. full table adverts are gossipped to a
randomly selected peer. If that fails we send a multicast message to the
network.
2020-01-13 20:14:29 +00:00
0a4bd02503 Add RefreshSync method for Sync bookkeeping 2020-01-13 20:14:29 +00:00
63edfaa852 Added Sync message
Sync message will be sent between peers when a new node connects/joins
the network
2020-01-13 20:14:29 +00:00
802cc8239a Send solicit message properly. Updated comments. 2020-01-13 20:14:29 +00:00
59fccb82ec Updated comments. Tiny cleanup changes. () 2020-01-08 13:18:11 +00:00
b0b6b8fce2 final updates 2019-12-13 15:27:47 +00:00
f6b4a9da1c strip some code 2019-12-12 23:20:31 +00:00
74c5102e41 strip a couple things 2019-12-12 21:49:39 +00:00
7bd50cd251 fix more broken cruft 2019-12-12 17:10:32 +00:00
df728aaddd remove go routines from tunnel, fire network messages in go routines 2019-12-12 13:34:08 +00:00
e260cc4a24 save cruft 2019-12-12 12:27:46 +00:00
6e28e7a86f Save current state of the world 2019-12-11 14:37:03 +00:00
e966944ae5 sort resolved node list in network by lowest priority 2019-12-10 17:57:04 +00:00
d50f30d743 strip handlers 2019-12-10 11:46:13 +00:00
f8533551a4 move debug to trace for network peer refresh 2019-12-10 09:09:24 +00:00
7e46ff5d92 strip some more logging down 2019-12-10 09:08:03 +00:00
b29da80539 Move a few things around 2019-12-09 22:56:26 +00:00
55a15ecf12 fix tiny error in linting fixes 2019-12-09 11:18:45 +08:00
6064e1426c fix some potential go routine leaks 2019-12-08 15:02:54 +00:00
d28a868e46 Fix network startup connect 2019-12-08 14:37:17 +00:00
ce578800d0 n.initNodes 2019-12-08 12:17:31 +00:00
6307d6ba51 further cleanup of tunnel/network 2019-12-08 12:12:20 +00:00
283c85d256 done 2019-12-08 00:53:55 +00:00
9bd0fb9125 save changes 2019-12-07 23:28:39 +00:00
c445aed6b1 Cleanup and speedup network convergence along with direct messaging for connect and solicit 2019-12-07 19:54:29 +00:00