[MM-52268] Add initial support for connecting through TCP candidates #103
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
PR adds initial support for generating and allowing connection through TCP candidates. This allows the service to be self sufficient even in cases where clients cannot establish UDP connections and can avoid the complexity of deploying dedicated TURN servers.
Initial load-tests didn't show a significant difference in performance. So far I tested TCP only vs UDP only. Would be good to test a more realistic scenario with both candidate types used at the same time.
Some current blockers:
There's an issue preventing connectivity when listening on all available local interfaces. Still need to understand if it's a configuration issue on our part or a bug inpion/ice
but so far I couldn't figure it out.There's an issue when shutting down the server, listeners take a long time to be closed causing sporadic timeouts. Needs further investigation.Ticket Link
https://mattermost.atlassian.net/browse/MM-52268