Fix use mgr without start

This commit is contained in:
Zoltan Papp
2025-02-28 16:12:09 +01:00
parent 3ff3bbe782
commit a89a6c00de
2 changed files with 11 additions and 5 deletions
+9 -4
View File
@@ -71,7 +71,7 @@ func (e *ConnMgr) AddPeerConn(peerKey string, conn *peer.Conn) (exists bool) {
return true return true
} }
if e.lazyConnMgr == nil { if !e.isStarted() {
conn.Open() conn.Open()
return return
} }
@@ -101,7 +101,7 @@ func (e *ConnMgr) OnSignalMsg(peerKey string) (*peer.Conn, bool) {
return nil, false return nil, false
} }
if e.lazyConnMgr == nil { if !e.isStarted() {
return conn, true return conn, true
} }
@@ -119,7 +119,7 @@ func (e *ConnMgr) RemovePeerConn(peerKey string) {
} }
defer conn.Close() defer conn.Close()
if e.lazyConnMgr == nil { if !e.isStarted() {
return return
} }
@@ -128,9 +128,10 @@ func (e *ConnMgr) RemovePeerConn(peerKey string) {
} }
func (e *ConnMgr) Close() { func (e *ConnMgr) Close() {
if e.lazyConnMgr == nil { if !e.isStarted() {
return return
} }
e.ctxCancel() e.ctxCancel()
e.lazyConnMgr.Close() e.lazyConnMgr.Close()
e.wg.Wait() e.wg.Wait()
@@ -147,3 +148,7 @@ func (e *ConnMgr) receiveLazyConnEvents(ctx context.Context) {
e.peerStore.PeerConnOpen(peerID) e.peerStore.PeerConnOpen(peerID)
} }
} }
func (e *ConnMgr) isStarted() bool {
return e.lazyConnMgr != nil && e.ctxCancel != nil
}
+2 -1
View File
@@ -332,7 +332,6 @@ func TestEngine_SSH(t *testing.T) {
} }
func TestEngine_UpdateNetworkMap(t *testing.T) { func TestEngine_UpdateNetworkMap(t *testing.T) {
t.Setenv(envDisableLazyConn, "true")
// test setup // test setup
key, err := wgtypes.GeneratePrivateKey() key, err := wgtypes.GeneratePrivateKey()
if err != nil { if err != nil {
@@ -766,6 +765,7 @@ func TestEngine_UpdateNetworkMapWithRoutes(t *testing.T) {
engine.routeManager = mockRouteManager engine.routeManager = mockRouteManager
engine.dnsServer = &dns.MockServer{} engine.dnsServer = &dns.MockServer{}
engine.connMgr = NewConnMgr(engine.peerStore, engine.wgInterface)
defer func() { defer func() {
exitErr := engine.Stop() exitErr := engine.Stop()
@@ -962,6 +962,7 @@ func TestEngine_UpdateNetworkMapWithDNSUpdate(t *testing.T) {
} }
engine.dnsServer = mockDNSServer engine.dnsServer = mockDNSServer
engine.connMgr = NewConnMgr(engine.peerStore, engine.wgInterface)
defer func() { defer func() {
exitErr := engine.Stop() exitErr := engine.Stop()