Make chainId in relay message bckwd compat

This commit is contained in:
Owen
2026-03-06 15:27:03 -08:00
parent c67c2a60a1
commit 809dbe77de
2 changed files with 31 additions and 24 deletions

View File

@@ -51,7 +51,6 @@ func (o *Olm) handleWgPeerAdd(msg websocket.WSMessage) {
return return
} }
logger.Info("Successfully added peer for site %d", siteConfigMsg.SiteId) logger.Info("Successfully added peer for site %d", siteConfigMsg.SiteId)
} }
@@ -181,11 +180,9 @@ func (o *Olm) handleWgPeerRelay(msg websocket.WSMessage) {
return return
} }
if relayData.ChainId != "" {
if monitor := o.peerManager.GetPeerMonitor(); monitor != nil { if monitor := o.peerManager.GetPeerMonitor(); monitor != nil {
monitor.CancelRelaySend(relayData.ChainId) monitor.CancelRelaySend(relayData.ChainId)
} }
}
primaryRelay, err := util.ResolveDomain(relayData.RelayEndpoint) primaryRelay, err := util.ResolveDomain(relayData.RelayEndpoint)
if err != nil { if err != nil {
@@ -223,11 +220,9 @@ func (o *Olm) handleWgPeerUnrelay(msg websocket.WSMessage) {
return return
} }
if relayData.ChainId != "" {
if monitor := o.peerManager.GetPeerMonitor(); monitor != nil { if monitor := o.peerManager.GetPeerMonitor(); monitor != nil {
monitor.CancelRelaySend(relayData.ChainId) monitor.CancelRelaySend(relayData.ChainId)
} }
}
primaryRelay, err := util.ResolveDomain(relayData.Endpoint) primaryRelay, err := util.ResolveDomain(relayData.Endpoint)
if err != nil { if err != nil {

View File

@@ -456,10 +456,22 @@ func (pm *PeerMonitor) sendUnRelay(siteID int) error {
} }
// CancelRelaySend stops the interval sender for the given chainId, if one exists. // CancelRelaySend stops the interval sender for the given chainId, if one exists.
// If chainId is empty, all active relay senders are stopped.
func (pm *PeerMonitor) CancelRelaySend(chainId string) { func (pm *PeerMonitor) CancelRelaySend(chainId string) {
pm.relaySendMu.Lock() pm.relaySendMu.Lock()
defer pm.relaySendMu.Unlock() defer pm.relaySendMu.Unlock()
if chainId == "" {
for id, stop := range pm.relaySends {
if stop != nil {
stop()
}
delete(pm.relaySends, id)
}
logger.Info("Cancelled all relay senders")
return
}
if stop, ok := pm.relaySends[chainId]; ok { if stop, ok := pm.relaySends[chainId]; ok {
stop() stop()
delete(pm.relaySends, chainId) delete(pm.relaySends, chainId)