/// <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); }
/// <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); }