void AsioServerTransport::closeSessionState(
    AsioSessionStateWeakPtr sessionStateWeakPtr)
{
    AsioSessionStatePtr sessionStatePtr(sessionStateWeakPtr.lock());
    if (sessionStatePtr)
    {
        sessionStatePtr->close();
    }
}
 void AsioServerTransport::notifyClose(
     AsioSessionStateWeakPtr sessionStateWeakPtr)
 {
     AsioSessionStatePtr sessionStatePtr(sessionStateWeakPtr.lock());
     if (sessionStatePtr)
     {
         Lock lock(sessionStatePtr->mMutex);
         sessionStatePtr->mHasBeenClosed = true;
     }
 }