session_manager负责管理所有会话,session_manager.h和session_manger.cpp是具体的实现.MOT的内存资源都是以session来分配的,需要通过SessionContext来进行资源管理,session_manager主要就是负责SessionContext的创建和销毁.涉及两个函数:
1.CreateSessionContext:创建一个SessionContext有以下步骤,分配线程id,分配连接id,分配会话id.初始化masstree信息,申请内
存,初始化session.以上每一步都执行成功,则会返回一个SessionContext对象.
2.DestroySessionContext:销毁的过程主要有两步,首先调用TxnManager的GcRemoveSession,然后调用sessionContext的析构函数,
对申请的资源进行释放销毁.
此外,还保留了一个map,作为sessionid和sessioncontext的映射,这样就可以根据id获取相应的会话上下文.
网友评论