Browse Source

publish update on relay create

Abhishek Kondur 2 years ago
parent
commit
59b158d256
2 changed files with 13 additions and 1 deletions
  1. 12 0
      controllers/relay.go
  2. 1 1
      logic/peers.go

+ 12 - 0
controllers/relay.go

@@ -123,12 +123,24 @@ func createHostRelay(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
+	if err := mq.HostUpdate(&models.HostUpdate{
+		Action: models.UpdateHost,
+		Host:   *relayHost,
+	}); err != nil {
+		logger.Log(0, "failed to send host update: ", relayHost.ID.String(), err.Error())
+	}
 	logger.Log(1, r.Header.Get("user"), "created relay on host", relay.HostID)
 	go func(relayHostID string) {
 		relatedhosts := logic.GetRelatedHosts(relayHostID)
 		for _, relatedHost := range relatedhosts {
 			relatedHost.ProxyEnabled = true
 			logic.UpsertHost(&relatedHost)
+			if err := mq.HostUpdate(&models.HostUpdate{
+				Action: models.UpdateHost,
+				Host:   relatedHost,
+			}); err != nil {
+				logger.Log(0, "failed to send host update: ", relatedHost.ID.String(), err.Error())
+			}
 		}
 		if err := mq.PublishPeerUpdate(); err != nil {
 			logger.Log(0, "fail to publish peer update: ", err.Error())

+ 1 - 1
logic/peers.go

@@ -266,7 +266,7 @@ func GetProxyUpdateForHost(host *models.Host) (models.ProxyManagerPayload, error
 			if peerHost.IsRelayed && peerHost.RelayedBy != host.ID.String() {
 				relayHost, err := GetHost(peerHost.RelayedBy)
 				if err == nil {
-					relayTo, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", relayHost.EndpointIP, getPeerListenPort(peerHost)))
+					relayTo, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", relayHost.EndpointIP, getPeerListenPort(relayHost)))
 					if err == nil {
 						currPeerConf.IsRelayed = true
 						currPeerConf.RelayedTo = relayTo