Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • W websockettest
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • foss
  • websockettest
  • Merge requests
  • !3

Refactor to use channels

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Peter Farr requested to merge peter/refactor-to-channels into master Feb 07, 2022
  • Overview 0
  • Commits 1
  • Pipelines 0
  • Changes 3
This commit makes a lot of sweeping changes. It mostly refactors the
previous design to instead be one that uses channels for a lockless
design that doesn't require so much sticky Mutex locking logic.

It also ensures that we always update the waker if we aren't Ready. This
is necessary because if the future gets moved to a different thread by
the executor, we need to update the waker regardless.

We only update the waker if the new waker is different, which should
help ensure we don't flood the waker channel.

We also now clean up entries after responding, which should help in
cases where an overly aggressive server sends duplicate responses.
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: peter/refactor-to-channels