[SERVER-54143] Convert ServiceEntryPointImpl to IngressSessionManager Created: 29/Jan/21  Updated: 06/Dec/22

Status: Open
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Benjamin Caimano (Inactive) Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: ben-sa-triage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-64648 Complete TODO listed in SERVER-54143 Closed
Related
related to SERVER-64648 Complete TODO listed in SERVER-54143 Closed
is related to SERVER-50141 ServiceStateMachineTest needs to be r... Closed
Assigned Teams:
Service Arch
Participants:

 Description   

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



 Comments   
Comment by Lauren Lewis (Inactive) [ 18/Mar/22 ]

We haven’t heard back from you for some time, so we're going to close this ticket. If this is still an issue for you, please provide additional information and we will reopen the ticket.

Generated at Thu Feb 08 05:32:46 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.