Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public PacketHeadT GetPacketHead <PacketHeadT>(EventHandler <PacketHeadInfoEventArgs <PacketHeadT> > eventHandler)
        {
            if (eventHandler == null)
            {
                throw new Exception("PacketReader.GetPacketHead<.>(...) - eventHandler == null error!");
            }

            PacketHeadT returnT = default(PacketHeadT);

            PacketHeadInfoEventArgs <PacketHeadT> eventArgs = new PacketHeadInfoEventArgs <PacketHeadT>(m_Data, m_Size, 0);

            eventHandler(this, eventArgs);
            returnT = eventArgs.PacketHead;

            return(returnT);
        }
Пример #2
0
        /// <summary>
        /// 给出数据包的ID
        /// </summary>
        /// <returns></returns>
        public PacketHeadT GetPacketHead <PacketHeadT>(EventHandler <PacketHeadInfoEventArgs <PacketHeadT> > eventHandler)
        {
            if (eventHandler == null)
            {
                throw new Exception("ReceiveQueue.GetPacketHead<.>(...) - eventHandler == null error!");
            }

            PacketHeadT returnT = default(PacketHeadT);

            m_LockBuffer.Enter();
            {
                PacketHeadInfoEventArgs <PacketHeadT> eventArgs = new PacketHeadInfoEventArgs <PacketHeadT>(m_Buffer, m_Size, m_Head);
                eventHandler(this, eventArgs);
                returnT = eventArgs.PacketHead;
            }
            m_LockBuffer.Exit();

            return(returnT);
        }