refactor: make Overlay setting more explicit
This commit is contained in:
1 parent
59e11e4e8a
commit
b7e7c11a57
3 files changed
+9
-11
No files matched your search
+1
-2
@@ -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
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user