refactor: make Overlay setting more explicit

This commit is contained in:
Matthias Radestock committed 2015-11-08 12:29:36 +00:00
1 parent 59e11e4e8a
commit b7e7c11a57
3 files changed
+9 -11

No files matched your search

+1 -2
View File
@@ -203,7 +203,6 @@ func main() {
sleeve := weave.NewSleeveOverlay(config.Port)
overlays.Add("sleeve", sleeve)
overlays.SetCompatOverlay(sleeve)
config.Overlay = overlays
if routerName == "" {
if iface == nil {
@@ -235,7 +234,7 @@ func main() {
config.PacketLogging = nopPacketLogging{}
}
router := weave.NewRouter(config, name, nickName)
router := weave.NewRouter(config, name, nickName, overlays)
Log.Println("Our name is", router.Ourself)
var dockerCli *docker.Client
+1 -1
View File
@@ -20,7 +20,7 @@ type mockChannelConnection struct {
func NewTestRouter(name string) *Router {
peerName, _ := PeerNameFromString(name)
router := NewRouter(Config{}, peerName, "nick")
router := NewRouter(Config{}, peerName, "nick", nil)
router.Start()
return router
}
+7 -8
View File
@@ -49,7 +49,6 @@ type Config struct {
BufSz int
PacketLogging PacketLogging
Bridge Bridge
Overlay Overlay
}
type PacketLogging interface {
@@ -59,6 +58,7 @@ type PacketLogging interface {
type Router struct {
Config
Overlay Overlay
Ourself *LocalPeer
Macs *MacCache
Peers *Peers
@@ -71,17 +71,18 @@ type Router struct {
acceptLimiter *TokenBucket
}
func NewRouter(config Config, name PeerName, nickName string) *Router {
func NewRouter(config Config, name PeerName, nickName string, overlay Overlay) *Router {
router := &Router{Config: config, gossipChannels: make(GossipChannels)}
if router.Bridge == nil {
router.Bridge = NullBridge{}
}
if router.Overlay == nil {
router.Overlay = NullOverlay{}
if overlay == nil {
overlay = NullOverlay{}
}
router.Overlay = overlay
router.Ourself = NewLocalPeer(name, nickName, router)
router.Macs = NewMacCache(macMaxAge,
func(mac net.HardwareAddr, peer *Peer) {
@@ -92,11 +93,9 @@ func NewRouter(config Config, name PeerName, nickName string) *Router {
router.Macs.Delete(peer)
log.Println("Removed unreachable peer", peer)
})
router.Peers.OnInvalidateShortIDs(router.Overlay.InvalidateShortIDs)
router.Peers.OnInvalidateShortIDs(overlay.InvalidateShortIDs)
router.Routes = NewRoutes(router.Ourself, router.Peers)
router.Routes.OnChange(router.Overlay.InvalidateRoutes)
router.Routes.OnChange(overlay.InvalidateRoutes)
router.ConnectionMaker = NewConnectionMaker(router.Ourself, router.Peers, router.Port, router.PeerDiscovery)
router.TopologyGossip = router.NewGossip("topology", router)
router.acceptLimiter = NewTokenBucket(acceptMaxTokens, acceptTokenDelay)