//----------------------------------------------------------------------------------- // Purpose : // Return : //----------------------------------------------------------------------------------- // Called by Worker TH ( CompleteRecv ) //----------------------------------------------------------------------------------- bool CNtlConnection::PopPacket(CNtlPacket * pPacket) { FUNCTION_BEGIN(); if( NULL == pPacket ) { NTL_LOG_ASSERT("NULL == pPacket"); return false; } #if 0 WORD wPacketLength = 0; if( false == MakeSureCompletedPacket( &m_recvBuffer, &wPacketLength ) ) { return false; } pPacket->Attach( m_recvBuffer.GetQueueWorkPtr(), wPacketLength ); if( false == pPacket->IsValidPacket() ) { return false; } m_recvBuffer.IncreaseWorkPos( pPacket->GetUsedSize() ); #else int nPacketLen = GetPacketLen( m_recvBuffer.GetQueuePopPtr() ); pPacket->AttachData( m_recvBuffer.GetQueuePopPtr(), (WORD) (GetHeaderSize() + nPacketLen) ); if( false == pPacket->IsValidPacket() ) { return false; } #endif return true; }
bool Connections::PopPacket(Packet* pPacket) { FUNCTION_BEGIN(); if (NULL == pPacket) { Logger::Log("NULL == pPacket\n"); return false; } int PacketLen = GetPacketLen(_recvBuffer.GetQueuePopPtr()); pPacket->AttachData(_recvBuffer.GetQueuePopPtr(), (WORD)(GetHeaderSize() + PacketLen)); if (false == pPacket->IsValidPacket()) { return false; } return true; }