Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • briar briar
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 788
    • Issues 788
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • briar
  • briarbriar
  • Issues
  • #376

Closed
Open
Created May 09, 2016 by akwizgran@akwizgranOwner

Refactor clients based on ProtocolEngine

The ProtocolEngine interface allows certain tasks to be performed in response to local actions and incoming messages: updating local state, sending messages, broadcasting events and deleting the incoming message. Clients based on ProtocolEngine that need to perform other tasks are forced to store a task label in the local state, then retrieve it and perform the task outside the engine. This defeats the purpose of the engine interface, which is meant to encapsulate the protocol logic.

Alter or remove the ProtocolEngine interface so clients have the flexibility they need.

Assignee
Assign to
Time tracking