This part confused me a bit because I was trying to figure out the relationship between the two operations for the same session. It took me some time to realize that one is (primarily) used by the parent session and the other in the child sessions. Is there is a use case in which a session is both a parent of some sessions and a child of another session?
Looks ok overall. It takes some effort to follow the logic through the many layers, but this is a pre-existing problem with this part of the code.
60 + int fd_for_ client_ handled_ by(std: :function< void(std: :shared_ ptr<Session> const& session)> const& connect_handler) const; client_ connect( std::shared_ ptr<Session> const& session) const { connect_ handler( session) ; }
61 +
62 + void handle_
This part confused me a bit because I was trying to figure out the relationship between the two operations for the same session. It took me some time to realize that one is (primarily) used by the parent session and the other in the child sessions. Is there is a use case in which a session is both a parent of some sessions and a child of another session?