[PR #2559] [CLOSED] Feature/relay integration fix openconn #15323

Open
opened 2026-08-05 03:07:25 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/2559
Author: @pappz
Created: 9/8/2024
Status: Closed

Base: mainHead: feature/relay-integration-fix-openconn


📝 Commits (10+)

  • d4eaec5 Followup messages modification
  • 9ac5a1e Add udp listener and did some change for debug purpose.
  • 1c9c9ae Remove sync.pool
  • 13eb457 Add registration response message to the communication
  • e82c0a5 Set to blocking the message queue
  • 0a05f8b Use buffer pool and protect exported functions
  • 36b2cd1 Remove channel binding logic
  • 173ca25 Fix in client the close event
  • b4aa7e5 Close sockets on server cmd
  • 645a1f3 Fix writing/reading to a closed conn

📊 Changes

107 files changed (+9494 additions, -1811 deletions)

View changed files

📝 client/cmd/status.go (+15 -12)
📝 client/cmd/status_test.go (+6 -10)
📝 client/cmd/testutil_test.go (+3 -2)
📝 client/cmd/up.go (+4 -1)
📝 client/internal/connect.go (+47 -9)
📝 client/internal/engine.go (+38 -144)
📝 client/internal/engine_test.go (+55 -20)
📝 client/internal/peer/conn.go (+548 -546)
📝 client/internal/peer/conn_test.go (+27 -44)
client/internal/peer/handshaker.go (+192 -0)
client/internal/peer/signaler.go (+70 -0)
📝 client/internal/peer/status.go (+184 -9)
📝 client/internal/peer/status_test.go (+5 -5)
📝 client/internal/peer/stdnet.go (+2 -2)
📝 client/internal/peer/stdnet_android.go (+2 -2)
client/internal/peer/worker_ice.go (+470 -0)
client/internal/peer/worker_relay.go (+223 -0)
📝 client/internal/relay/relay.go (+2 -2)
📝 client/internal/routemanager/client.go (+0 -6)
📝 client/internal/routemanager/client_test.go (+0 -43)

...and 80 more files

📄 Description

Describe your changes

When try to use the openConnVia function on multiple threads for the same server then the first thread try to open the connection and the second just wait for the result.

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/2559 **Author:** [@pappz](https://github.com/pappz) **Created:** 9/8/2024 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feature/relay-integration-fix-openconn` --- ### 📝 Commits (10+) - [`d4eaec5`](https://github.com/netbirdio/netbird/commit/d4eaec5cbd0161234c3624786fa42b02906590cb) Followup messages modification - [`9ac5a1e`](https://github.com/netbirdio/netbird/commit/9ac5a1ed3ff5be4165265bfbcd6cf28bc0407ca5) Add udp listener and did some change for debug purpose. - [`1c9c9ae`](https://github.com/netbirdio/netbird/commit/1c9c9ae47eef3f1474f4c434a15a00d697e0d080) Remove sync.pool - [`13eb457`](https://github.com/netbirdio/netbird/commit/13eb457132e9291559b538b1d55429e94e879e18) Add registration response message to the communication - [`e82c0a5`](https://github.com/netbirdio/netbird/commit/e82c0a55a31e63d673cf4bbbc7750bfd025fac96) Set to blocking the message queue - [`0a05f8b`](https://github.com/netbirdio/netbird/commit/0a05f8b4d417254416c9b56d2bdf97eff2e39c95) Use buffer pool and protect exported functions - [`36b2cd1`](https://github.com/netbirdio/netbird/commit/36b2cd16ccc53350fae358b16917218a50a4753f) Remove channel binding logic - [`173ca25`](https://github.com/netbirdio/netbird/commit/173ca25dacaecd0385b35b1d5f9379c7741de4df) Fix in client the close event - [`b4aa7e5`](https://github.com/netbirdio/netbird/commit/b4aa7e50f995abb85e009bda3ade2cf07c9bb4a7) Close sockets on server cmd - [`645a1f3`](https://github.com/netbirdio/netbird/commit/645a1f31a7cc1707c4f346a2cb8e134a9d0a527b) Fix writing/reading to a closed conn ### 📊 Changes **107 files changed** (+9494 additions, -1811 deletions) <details> <summary>View changed files</summary> 📝 `client/cmd/status.go` (+15 -12) 📝 `client/cmd/status_test.go` (+6 -10) 📝 `client/cmd/testutil_test.go` (+3 -2) 📝 `client/cmd/up.go` (+4 -1) 📝 `client/internal/connect.go` (+47 -9) 📝 `client/internal/engine.go` (+38 -144) 📝 `client/internal/engine_test.go` (+55 -20) 📝 `client/internal/peer/conn.go` (+548 -546) 📝 `client/internal/peer/conn_test.go` (+27 -44) ➕ `client/internal/peer/handshaker.go` (+192 -0) ➕ `client/internal/peer/signaler.go` (+70 -0) 📝 `client/internal/peer/status.go` (+184 -9) 📝 `client/internal/peer/status_test.go` (+5 -5) 📝 `client/internal/peer/stdnet.go` (+2 -2) 📝 `client/internal/peer/stdnet_android.go` (+2 -2) ➕ `client/internal/peer/worker_ice.go` (+470 -0) ➕ `client/internal/peer/worker_relay.go` (+223 -0) 📝 `client/internal/relay/relay.go` (+2 -2) 📝 `client/internal/routemanager/client.go` (+0 -6) 📝 `client/internal/routemanager/client_test.go` (+0 -43) _...and 80 more files_ </details> ### 📄 Description ## Describe your changes When try to use the openConnVia function on multiple threads for the same server then the first thread try to open the connection and the second just wait for the result. ## Issue ticket number and link ### Checklist - [x] Is it a bug fix - [ ] Is a typo/documentation fix - [ ] Is a feature enhancement - [ ] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 03:07:25 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#15323