Convert ServiceEntryPointImpl to IngressSessionManager

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Service Arch
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The ServiceEntryPointImpl encapsulates most of the session management logic and manages the ServiceExecutors. This has an unfortunate side effect that the ServiceStateMachine is initialized by and calls into the final ServiceEntryPoint type:

      TransportLayerASIO::_acceptConnection -> ServiceEntryPointT::startSession -> ServiceStateMachine::start -> ServiceEntryPointT::handleRequest
      

      If we remove the functionality from the ServiceEntryPoint type inheritance and attach it as a member or decoration elsewhere, we can simplify the ServiceEntryPoint interface and make ingress less dependent on the derived type of the ServiceEntryPoint:

      TransportLayerASIO::_acceptConnection -> IngressSessionManager::startSession -> ServiceStateMachine::start -> ServiceEntryPointT::handleRequest
      

              Assignee:
              [DO NOT USE] Backlog - Service Architecture
              Reporter:
              Benjamin Caimano (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: