Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Arti Arti
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 230
    • Issues 230
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 19
    • Merge requests 19
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • ArtiArti
  • Merge requests
  • !251

Refactor our Runtime implementations to allow replacement parts

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Nick Mathewson requested to merge nickm/arti:ticket255 into main Jan 19, 2022
  • Overview 3
  • Commits 3
  • Pipelines 3
  • Changes 10

This branch introduces a CompoundRuntime type, which can be used to build a runtime out of its constituent parts, and refactors our individual to use CompoundRuntime objects internally.

Making this change serves two purposes.

First, it makes it easier for other people to implement Runtimes that replace only part of another Runtime: it would decrease the boilerplate needed for #235 (closed), for example.

Second, it will make it easier for us to implement Runtimes with multiple TLS backends (#86 (closed)) without running into combinatorial explosion.

Closes #255 (closed).

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: ticket255