Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
briar
briar
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 579
    • Issues 579
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 8
    • Merge Requests 8
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • briar
  • briarbriar
  • Issues
  • #1188

Closed
Open
Opened Mar 14, 2018 by akwizgran@akwizgran
  • Report abuse
  • New issue
Report abuse New issue

Close redundant transport connections

It's not unusual to have multiple connections to a given contact open at the same time, especially if both users sign in or activate a transport at roughly the same time. In some cases these connections may be considered redundant. For example, a Tor connection may be considered redundant if we also have a LAN connection, and if we have incoming and outgoing connections over the same duplex transport, one of them is redundant.

Closing redundant connections would save battery and bandwidth. Performance tests also suggest that redundant connections may slow down sync by increasing the number of database queries triggered by each sync-related event. Syncing 30 forum posts from an Xperia Z3 Compact to a Moto E3 takes about 10% longer when there are four Tor and LAN connections than when there's a single Bluetooth connection, because the DB rather than the network is the bottleneck.

The tricky part is choosing which connections to close, such that the two endpoints don't choose different connections and end up closing too many.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
2
Labels
Battery Task
Assign labels
  • View project labels
Reference: briar/briar#1188