refactor: move NetworkRouterStatus into its own file

This commit is contained in:
Matthias Radestock committed 2015-11-09 15:51:11 +00:00
1 parent 8eb680fcc9
commit ab458368de
2 files changed
+43 -39

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
package router
import (
"time"
)
type NetworkRouterStatus struct {
*Status
Interface string
CaptureStats map[string]int
MACs []MACStatus
}
type MACStatus struct {
Mac string
Name string
NickName string
LastSeen time.Time
}
func NewNetworkRouterStatus(router *NetworkRouter) *NetworkRouterStatus {
return &NetworkRouterStatus{
NewStatus(router.Router),
router.Bridge.String(),
router.Bridge.Stats(),
NewMACStatusSlice(router.Macs)}
}
func NewMACStatusSlice(cache *MacCache) []MACStatus {
cache.RLock()
defer cache.RUnlock()
var slice []MACStatus
for key, entry := range cache.table {
slice = append(slice, MACStatus{
intmac(key).String(),
entry.peer.Name.String(),
entry.peer.NickName,
entry.lastSeen})
}
return slice
}
-39
View File
@@ -2,7 +2,6 @@ package router
import (
"fmt"
"time"
)
type Status struct {
@@ -22,20 +21,6 @@ type Status struct {
OverlayDiagnostics interface{}
}
type NetworkRouterStatus struct {
*Status
Interface string
CaptureStats map[string]int
MACs []MACStatus
}
type MACStatus struct {
Mac string
Name string
NickName string
LastSeen time.Time
}
type PeerStatus struct {
Name string
NickName string
@@ -87,30 +72,6 @@ func NewStatus(router *Router) *Status {
router.Overlay.Diagnostics()}
}
func NewNetworkRouterStatus(router *NetworkRouter) *NetworkRouterStatus {
return &NetworkRouterStatus{
NewStatus(router.Router),
router.Bridge.String(),
router.Bridge.Stats(),
NewMACStatusSlice(router.Macs)}
}
func NewMACStatusSlice(cache *MacCache) []MACStatus {
cache.RLock()
defer cache.RUnlock()
var slice []MACStatus
for key, entry := range cache.table {
slice = append(slice, MACStatus{
intmac(key).String(),
entry.peer.Name.String(),
entry.peer.NickName,
entry.lastSeen})
}
return slice
}
func NewPeerStatusSlice(peers *Peers) []PeerStatus {
var slice []PeerStatus