mirror of
https://github.com/fosrl/newt.git
synced 2026-02-08 05:56:40 +00:00
Make hp regular
This commit is contained in:
@@ -42,6 +42,8 @@ func NewManager(sharedBind *bind.SharedBind, ID string, clientType string) *Mana
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const sendHolepunchInterval = 15 * time.Second
|
||||||
|
|
||||||
// SetToken updates the authentication token used for hole punching
|
// SetToken updates the authentication token used for hole punching
|
||||||
func (m *Manager) SetToken(token string) {
|
func (m *Manager) SetToken(token string) {
|
||||||
m.mu.Lock()
|
m.mu.Lock()
|
||||||
@@ -173,20 +175,14 @@ func (m *Manager) runMultipleExitNodes(exitNodes []ExitNode) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ticker := time.NewTicker(1 * time.Second)
|
ticker := time.NewTicker(sendHolepunchInterval)
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
|
|
||||||
timeout := time.NewTimer(5 * time.Second)
|
|
||||||
defer timeout.Stop()
|
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-m.stopChan:
|
case <-m.stopChan:
|
||||||
logger.Debug("Hole punch stopped by signal")
|
logger.Debug("Hole punch stopped by signal")
|
||||||
return
|
return
|
||||||
case <-timeout.C:
|
|
||||||
logger.Debug("Hole punch timeout reached")
|
|
||||||
return
|
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
// Send hole punch to all exit nodes
|
// Send hole punch to all exit nodes
|
||||||
for _, node := range resolvedNodes {
|
for _, node := range resolvedNodes {
|
||||||
@@ -226,20 +222,14 @@ func (m *Manager) runSingleEndpoint(endpoint, serverPubKey string) {
|
|||||||
logger.Warn("Failed to send initial hole punch: %v", err)
|
logger.Warn("Failed to send initial hole punch: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
ticker := time.NewTicker(1 * time.Second)
|
ticker := time.NewTicker(sendHolepunchInterval)
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
|
|
||||||
timeout := time.NewTimer(5 * time.Second)
|
|
||||||
defer timeout.Stop()
|
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-m.stopChan:
|
case <-m.stopChan:
|
||||||
logger.Debug("Hole punch stopped by signal")
|
logger.Debug("Hole punch stopped by signal")
|
||||||
return
|
return
|
||||||
case <-timeout.C:
|
|
||||||
logger.Debug("Hole punch timeout reached")
|
|
||||||
return
|
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
if err := m.sendHolePunch(remoteAddr, serverPubKey); err != nil {
|
if err := m.sendHolePunch(remoteAddr, serverPubKey); err != nil {
|
||||||
logger.Debug("Failed to send hole punch: %v", err)
|
logger.Debug("Failed to send hole punch: %v", err)
|
||||||
|
|||||||
Reference in New Issue
Block a user