Code cleanup; Indentation.
This commit is contained in:
parent
0ea56a5ffe
commit
dcd925f1e5
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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()
|
||||||
|
@ -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) {};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user