//----------------------------------------------------------------------------------- // Purpose : // Return : //----------------------------------------------------------------------------------- // Called by Dispatcher TH, Application TH, Acceptor TH, Connector TH, //----------------------------------------------------------------------------------- void CNtlConnection::Destroy() { FUNCTION_BEGIN(); if( false == ExchangeStatus( STATUS_DESTROY, false, STATUS_DESTROY ) ) { NTL_LOG_ASSERT( "Status( STATUS_DESTROY )" ); return; } m_socket.Shutdown( SD_BOTH ); m_socket.Close(); if( m_pAcceptorRef ) { m_pAcceptorRef->OnDisconnected( m_bConnected ); } if( m_pConnectorRef ) { m_pConnectorRef->OnDisconnected( m_bConnected ); } }
void Connections::Close(bool Force) { UNREFERENCED_PARAMETER(Force); FUNCTION_BEGIN(); if (false == ExchangeStatus(CONNSTATUS_CLOSE, false, CONNSTATUS_CLOSE)) { return; } }
//----------------------------------------------------------------------------------- // Purpose : // Return : //----------------------------------------------------------------------------------- // Called by Worker TH, Application TH ( PostRecv/PostSend/IOCP transfered 0 ) //----------------------------------------------------------------------------------- void CNtlConnection::Close(bool bForce) { UNREFERENCED_PARAMETER( bForce ); FUNCTION_BEGIN(); if( false == ExchangeStatus( STATUS_CLOSE, false, STATUS_CLOSE ) ) { return; } // ÀÌ ¹ØÀ¸·Î´Â ÁøÇà ºÒ°¡ÇÏ´Ù. Processor·Î ÀÎÇØ ¸Þ¸ð¸®¿¡¼ ¼Ò¸ê‰Î }
void Connections::Destroy() { FUNCTION_BEGIN(); if (false == ExchangeStatus(CONNSTATUS_DESTROY, false, CONNSTATUS_DESTROY)) { Logger::Log("Status( CONNSTATUS_DESTROY )"); return; } _socket.Shutdown(SD_BOTH); _socket.Close(); if (_AcceptorRef) { _AcceptorRef->OnDisconnected(_IsConnected); } if (_ConnectorRef) { _ConnectorRef->OnDisconnected(_IsConnected); } }