Code cleanup; Indentation.

This commit is contained in:
Milos Gajdos 2020-01-14 18:48:42 +00:00
parent 0ea56a5ffe
commit dcd925f1e5
No known key found for this signature in database
GPG Key ID: 8B31058CC55DFD4F
4 changed files with 62 additions and 60 deletions

View File

@ -876,16 +876,11 @@ func (n *network) processNetChan(listener tunnel.Listener) {
log.Debugf("Network received peer message from: %s %s", pbNetPeer.Node.Id, pbNetPeer.Node.Address) log.Debugf("Network received peer message from: %s %s", pbNetPeer.Node.Id, pbNetPeer.Node.Address)
peer := &node{ peer := &node{
id: pbNetPeer.Node.Id, id: pbNetPeer.Node.Id,
address: pbNetPeer.Node.Address, address: pbNetPeer.Node.Address,
link: m.msg.Header["Micro-Link"], link: m.msg.Header["Micro-Link"],
peers: make(map[string]*node), peers: make(map[string]*node),
status: &status{ status: newPeerStatus(pbNetPeer),
err: &nerr{
count: int(pbNetPeer.Node.Status.Error.Count),
msg: errors.New(pbNetPeer.Node.Status.Error.Msg),
},
},
lastSeen: now, lastSeen: now,
} }
@ -981,16 +976,11 @@ func (n *network) processNetChan(listener tunnel.Listener) {
log.Debugf("Network received sync message from: %s", pbNetSync.Peer.Node.Id) log.Debugf("Network received sync message from: %s", pbNetSync.Peer.Node.Id)
peer := &node{ peer := &node{
id: pbNetSync.Peer.Node.Id, id: pbNetSync.Peer.Node.Id,
address: pbNetSync.Peer.Node.Address, address: pbNetSync.Peer.Node.Address,
link: m.msg.Header["Micro-Link"], link: m.msg.Header["Micro-Link"],
peers: make(map[string]*node), peers: make(map[string]*node),
status: &status{ status: newPeerStatus(pbNetSync.Peer),
err: &nerr{
count: int(pbNetSync.Peer.Node.Status.Error.Count),
msg: errors.New(pbNetSync.Peer.Node.Status.Error.Msg),
},
},
lastSeen: now, lastSeen: now,
} }
@ -1279,38 +1269,41 @@ func (n *network) manage() {
// get a list of node peers // get a list of node peers
peers := n.Peers() peers := n.Peers()
// pick a random peer from the list of peers and request full sync // pick a random peer from the list of peers and request full sync
if peer := n.node.GetPeerNode(peers[rnd.Intn(len(peers))].Id()); peer != nil { peer := n.node.GetPeerNode(peers[rnd.Intn(len(peers))].Id())
go func() { if peer != nil {
// get node peer graph to send back to the connecting node continue
node := PeersToProto(n.node, MaxDepth)
msg := &pbNet.Sync{
Peer: node,
}
// get a list of all of our routes
routes, err := n.options.Router.Table().List()
switch err {
case nil:
// encode the routes to protobuf
pbRoutes := make([]*pbRtr.Route, 0, len(routes))
for _, route := range routes {
pbRoute := pbUtil.RouteToProto(route)
pbRoutes = append(pbRoutes, pbRoute)
}
// pack the routes into the sync message
msg.Routes = pbRoutes
default:
// we can't list the routes
log.Debugf("Network node %s failed listing routes: %v", n.id, err)
}
// send sync message to the newly connected peer
if err := n.sendTo("sync", NetworkChannel, peer, msg); err != nil {
log.Debugf("Network failed to send sync message: %v", err)
}
}()
} }
go func() {
// get node peer graph to send back to the connecting node
node := PeersToProto(n.node, MaxDepth)
msg := &pbNet.Sync{
Peer: node,
}
// get a list of all of our routes
routes, err := n.options.Router.Table().List()
switch err {
case nil:
// encode the routes to protobuf
pbRoutes := make([]*pbRtr.Route, 0, len(routes))
for _, route := range routes {
pbRoute := pbUtil.RouteToProto(route)
pbRoutes = append(pbRoutes, pbRoute)
}
// pack the routes into the sync message
msg.Routes = pbRoutes
default:
// we can't list the routes
log.Debugf("Network node %s failed listing routes: %v", n.id, err)
}
// send sync message to the newly connected peer
if err := n.sendTo("sync", NetworkChannel, peer, msg); err != nil {
log.Debugf("Network failed to send sync message: %v", err)
}
}()
case <-resolve.C: case <-resolve.C:
n.initNodes(false) n.initNodes(false)
} }

View File

@ -20,7 +20,7 @@ var (
// KeepAliveTime is the time in which we want to have sent a message to a peer // KeepAliveTime is the time in which we want to have sent a message to a peer
KeepAliveTime = 30 * time.Second KeepAliveTime = 30 * time.Second
// SyncTime is the time a network node requests full sync from the network // SyncTime is the time a network node requests full sync from the network
SyncTime = 5 * time.Minute SyncTime = 1 * time.Minute
// PruneTime defines time interval to periodically check nodes that need to be pruned // PruneTime defines time interval to periodically check nodes that need to be pruned
// due to their not announcing their presence within this time interval // due to their not announcing their presence within this time interval
PruneTime = 90 * time.Second PruneTime = 90 * time.Second

View File

@ -69,6 +69,15 @@ func newStatus() *status {
} }
} }
func newPeerStatus(peer *pb.Peer) *status {
return &status{
err: &nerr{
count: int(peer.Node.Status.Error.Count),
msg: errors.New(peer.Node.Status.Error.Msg),
},
}
}
func (s *status) Error() Error { func (s *status) Error() Error {
s.RLock() s.RLock()
defer s.RUnlock() defer s.RUnlock()

View File

@ -6,16 +6,16 @@ import "github.com/micro/go-micro/router/service/proto/router.proto";
// Network service is usesd to gain visibility into networks // Network service is usesd to gain visibility into networks
service Network { service Network {
// Connect to the network // Connect to the network
rpc Connect(ConnectRequest) returns (ConnectResponse) {}; rpc Connect(ConnectRequest) returns (ConnectResponse) {};
// Returns the entire network graph // Returns the entire network graph
rpc Graph(GraphRequest) returns (GraphResponse) {}; rpc Graph(GraphRequest) returns (GraphResponse) {};
// Returns a list of known nodes in the network // Returns a list of known nodes in the network
rpc Nodes(NodesRequest) returns (NodesResponse) {}; rpc Nodes(NodesRequest) returns (NodesResponse) {};
// Returns a list of known routes in the network // Returns a list of known routes in the network
rpc Routes(RoutesRequest) returns (RoutesResponse) {}; rpc Routes(RoutesRequest) returns (RoutesResponse) {};
// Returns a list of known services based on routes // Returns a list of known services based on routes
rpc Services(ServicesRequest) returns (ServicesResponse) {}; rpc Services(ServicesRequest) returns (ServicesResponse) {};
// Status returns network status // Status returns network status
rpc Status(StatusRequest) returns (StatusResponse) {}; rpc Status(StatusRequest) returns (StatusResponse) {};
} }