示例#1
0
                public static Int32 PopMsgFromMemQueue(CMemQueue cMsgQueue, CMsg cMsg)
                {
                    Int32 n32Get = cMsgQueue.GetFront(cMsg.GetMsgBuffer(), (UInt32)s_n32MsgHeaderSize);

                    if (0 != n32Get)
                    {
                        return(n32Get);
                    }

                    Int32 n32MsgSize = cMsg.GetMsgSize();
//                    if (n32MsgSize >= cMsg.m_n32MsgSize)
//                    {
//                        return -2;
//                    }

                    Int32 n32Pop = cMsgQueue.PopFront(cMsg.GetMsgBuffer(), (UInt32)n32MsgSize);

                    if (0 != n32Pop)
                    {
                        return(-3);
                    }

                    cMsg.SetReadPos(s_n32MsgHeaderSize);
                    cMsg.SetWritePos(n32MsgSize);
                    return(0);
                }