void MessageLooper::_MessageLooper() { BPrivate::LinkReceiver& receiver = fLink.Receiver(); while (true) { int32 code; status_t status = receiver.GetNextMessage(code); if (status < B_OK) { // that shouldn't happen, it's our port char name[256]; _GetLooperName(name, 256); printf("MessageLooper \"%s\": Someone deleted our message port %ld, %s!\n", name, receiver.Port(), strerror(status)); break; } Lock(); if (code == kMsgQuitLooper) { Quit(); } else _DispatchMessage(code, receiver); Unlock(); } }
ResultCode CNetCenter::MockReceive( const CMessage *mockMsg ) { if (mockMsg) { _DispatchMessage(*mockMsg); } return Result_Success; }
void CNetCenter::OnPackReady(const CBufferMessage &buffer ) { Global->Logf(LogFile_Net,_T("OnPackReady, size:%d\n"),buffer.GetSize()); CMessage2Parser parser; CMessage msg(parser.GetMsgType(buffer)); if(parser.Parser(&msg, buffer) == MsgStatus_Ok) { _DispatchMessage(msg); } }
void CNetCenter::OnReceive( int nErrorCode,CAsyncSocketEx* pSock ) { Global->PtrAssert(pSock); CBufferMessage buffer; buffer.Alloc(1024); int length = pSock->Receive(buffer.GetBuffer(),1024); Global->Logf(LogFile_Net,_T("OnReceive, size:%d\n"),length); CMessage2Parser parser; CMessage msg(parser.GetMsgType(buffer)); if (parser.Parser(&msg, buffer) == MsgStatus_Ok) { _DispatchMessage(msg); } }