Milos Gajdos
fed5af68e6
Handle Accept errors gracefully.
...
Originally when Accept fails we log the error and let the program flow
continue. This can lead to us spawning handling connection go routines
on nil connections which in turn leads to Go panics.
2019-10-15 15:07:28 +01:00
Asim Aslam
b1fed01752
add network name to node
2019-10-14 22:26:23 +01:00
Asim Aslam
f77df51f60
Support reconnects
2019-10-13 18:36:22 +01:00
Asim Aslam
d6c6e7815e
Spaces not tabs
2019-10-13 12:40:53 +01:00
Asim Aslam
01492997ea
add Network.Init method
2019-10-13 12:38:13 +01:00
Asim Aslam
174f1b857c
Network handler moves to service/handler
2019-10-13 12:37:56 +01:00
Asim Aslam
5029d80e68
add Network.Connect handler and network/metadata fields to node
2019-10-13 12:37:39 +01:00
Asim Aslam
b59c5a4488
move network handler to service/handler
2019-10-13 12:37:13 +01:00
Asim Aslam
2e47fdc6f5
Check the node map to avoid dupes in resolved nodes
2019-10-12 20:26:06 +01:00
Milos Gajdos
f6931f3da7
Prune routes from routers that are not in your peer graph
2019-10-10 15:28:27 +01:00
Asim Aslam
b2f99a27b7
Visit all the nodes in flatten
2019-10-10 14:35:11 +01:00
Asim Aslam
0dee11e006
Prune the peer address
2019-10-10 11:25:28 +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
fe5846603a
Only limit the number of nodes returned by network resolver.
2019-10-08 15:48:52 +01:00
Milos Gajdos
61800fb7d7
Fix typo: MaxCconnections -> MaxConnections
2019-10-08 15:15:50 +01:00
Milos Gajdos
ec2fbde979
Limit the number of outbound connections to MaxConnections
...
This commit also fixes control channel shenanigans:
- recover error in control channel accept
2019-10-08 14:48:04 +01:00
Asim Aslam
94adeebed4
Use dns resolver on peer nodes
2019-10-08 09:25:23 +01:00
Asim Aslam
ad823d5177
Add dns net.LookupHost resolver!
2019-10-08 09:04:13 +01:00
Milos Gajdos
9d9683b6f9
Recover net channel Accept errors. Init tunnel nodes before Connect
2019-10-07 19:09:04 +01:00
Asim Aslam
3c6b6553fb
Use peerAddress as the thing to listen on
2019-10-03 18:35:54 +01:00
Asim Aslam
2244eb8597
Advertise your peer address as advertised address
2019-10-03 17:37:29 +01:00
Asim Aslam
2370fb1209
Set gateway to node address rather than id
2019-10-02 15:52:31 +01:00
Asim Aslam
308424488b
Hash the network address
2019-10-02 15:22:44 +01:00
Asim Aslam
b90871c241
Add Network.Services handler
2019-09-30 07:51:13 +01:00
Milos Gajdos
77f3e7ef48
Simplified table code. Fixed event dedup.
2019-09-26 11:56:30 +01:00
Asim Aslam
dfcedbab1e
In case of non 200 response return error
2019-09-25 16:53:06 +01:00
Asim Aslam
ae40553bad
only solicit the first time seeing a peer
2019-09-25 14:30:35 +01:00
Asim Aslam
f23c6d91ba
Do not embed proxy/router/tunnel
2019-09-25 12:56:52 +01:00
Asim Aslam
d8dc713e2d
Fix the http resolver to use micro.mu url
2019-09-23 17:50:53 +01:00
Asim Aslam
4260913b45
Set rpc methods as Network.Graph/Nodes/Routes
2019-09-23 15:41:05 +01:00
Asim Aslam
f13887f604
Only hash address if its a local route
2019-09-20 09:40:55 +01:00
Asim Aslam
66769e671f
Merge pull request #772 from micro/peers
...
Replace Nodes with Peers
2019-09-19 16:53:17 +01:00
Asim Aslam
7e05d2c440
Replace Nodes with Peers
2019-09-19 16:32:15 +01:00
Milos Gajdos
a38482ffcb
Remove data race; Unlock once done pruning/deleting
2019-09-19 11:53:13 +01:00
Asim Aslam
6222bc2a1e
only set tunnel address if advertise is blank
2019-09-18 19:04:22 +01:00
Asim Aslam
05e62a2b95
allow setting advertise address
2019-09-18 18:56:02 +01:00
Milos Gajdos
38d6ffdf9a
Hash the service address before advertising it to the network.
2019-09-17 18:34:06 +01:00
Asim Aslam
e586763301
Merge pull request #761 from milosgajdos83/delete-peer-gw
...
Delete dead peer [gateway] routes
2019-09-17 16:54:35 +01:00
Milos Gajdos
3201b4cb36
Gateway is now set to node Id, hence we prune peer.id Gateway
2019-09-17 16:31:33 +01:00
Milos Gajdos
21dc7bcccf
Fix gateway addressing
...
- Set Gateway as node.ID when advertising
- Set server.Address as node.ID to listen on
- Set server.Advertise as node.Address
2019-09-17 16:11:02 +01:00
Asim Aslam
9147d378bc
Set node address to tunnel address
2019-09-17 15:40:00 +01:00
Milos Gajdos
a72a2f717d
Prune stale nodes in the whole topology.
2019-09-16 19:22:55 +01:00
Milos Gajdos
2599ee8591
Prune routes routable via dead node.
2019-09-15 12:17:12 +01:00
Milos Gajdos
ccb6778f7f
Skip processing Advert which carries no events
2019-09-13 20:46:14 +01:00
Asim Aslam
b23ee58865
Update default.go
2019-09-13 11:55:53 -07:00
Milos Gajdos
323a72be34
Small refactoring; Split horizon loop break.
2019-09-13 18:46:24 +01:00
Milos Gajdos
d72e91fb38
Unlock on return from network.Connect
2019-09-13 03:31:58 +01:00
Milos Gajdos
b91c3147e7
Node API allows us to drop all network locks
...
Network locks are now needed only when accessing client map. node map
access is serialied with the node mutex.
2019-09-13 03:03:56 +01:00
Milos Gajdos
77c6c9781b
getProtoTopology has been replaced by PeersToProto
...
This helps us remove redundant code across node and handler
2019-09-13 03:03:56 +01:00
Milos Gajdos
fa4ff8921e
Removed redundant lock. Simplified proto topology
2019-09-13 03:03:56 +01:00