/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> internal static void ReceiveQueue_PacketLength(object sender, PacketLengthInfoEventArgs eventArgs) { if (eventArgs.BufferSize >= 2) // 这是R.O.S.E的实现(因为是环绕环冲区,所以需要取模) { eventArgs.PacketLength = (ushort)((eventArgs.Buffer[(eventArgs.HeadIndex) % eventArgs.Buffer.Length]) | eventArgs.Buffer[(eventArgs.HeadIndex + 1) % eventArgs.Buffer.Length] << 8); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private static void RealmReceiveQueue_PacketLength(object sender, PacketLengthInfoEventArgs eventArgs) { if (eventArgs.BufferSize >= 3) // 这是W.O.W协议的实现(因为是环绕环冲区,所以需要取模) { eventArgs.PacketLength = (ushort)((eventArgs.Buffer[(eventArgs.HeadIndex + 1) % eventArgs.Buffer.Length]) | eventArgs.Buffer[(eventArgs.HeadIndex + 2) % eventArgs.Buffer.Length] << 8); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private void GetPacketLength(object sender, PacketLengthInfoEventArgs eventArgs) { if (eventArgs.BufferSize >= 2) // 这是ZoneCluster的实现(因为是环绕环冲区,所以需要取模) { eventArgs.PacketLength = (ushort)((eventArgs.Buffer[(eventArgs.HeadIndex) % eventArgs.Buffer.Length]) | eventArgs.Buffer[(eventArgs.HeadIndex + 1) % eventArgs.Buffer.Length] << 8); } }
public void PacketLengthInfoEventArgsConstructorTest() { byte[] byteBuffer = null; // TODO: 初始化为适当的值 long bufferSize = 0; // TODO: 初始化为适当的值 long iHeadIndex = 0; // TODO: 初始化为适当的值 PacketLengthInfoEventArgs target = new PacketLengthInfoEventArgs(byteBuffer, bufferSize, iHeadIndex); Assert.Inconclusive("TODO: 实现用来验证目标的代码"); }
public void HeadIndexTest() { byte[] byteBuffer = null; // TODO: 初始化为适当的值 long bufferSize = 0; // TODO: 初始化为适当的值 long iHeadIndex = 0; // TODO: 初始化为适当的值 PacketLengthInfoEventArgs target = new PacketLengthInfoEventArgs( byteBuffer, bufferSize, iHeadIndex ); // TODO: 初始化为适当的值 long actual; actual = target.HeadIndex; Assert.Inconclusive( "验证此测试方法的正确性。" ); }
/// <summary> ///GetPacketLength 的测试 ///</summary> public void GetPacketLengthTestHelper <T>() where T : BaseWorld, new() { Domain_Accessor <T> target = new Domain_Accessor <T>(); // TODO: 初始化为适当的值 object sender = null; // TODO: 初始化为适当的值 PacketLengthInfoEventArgs eventArgs = null; // TODO: 初始化为适当的值 target.GetPacketLength(sender, eventArgs); Assert.Inconclusive("无法验证不返回值的方法。"); }
public void BufferSizeTest() { byte[] byteBuffer = null; // TODO: 初始化为适当的值 long bufferSize = 0; // TODO: 初始化为适当的值 long iHeadIndex = 0; // TODO: 初始化为适当的值 PacketLengthInfoEventArgs target = new PacketLengthInfoEventArgs(byteBuffer, bufferSize, iHeadIndex); // TODO: 初始化为适当的值 long actual; actual = target.BufferSize; Assert.Inconclusive("验证此测试方法的正确性。"); }
public void PacketLengthTest() { byte[] byteBuffer = null; // TODO: 初始化为适当的值 long bufferSize = 0; // TODO: 初始化为适当的值 long iHeadIndex = 0; // TODO: 初始化为适当的值 PacketLengthInfoEventArgs target = new PacketLengthInfoEventArgs( byteBuffer, bufferSize, iHeadIndex ); // TODO: 初始化为适当的值 long expected = 0; // TODO: 初始化为适当的值 long actual; target.PacketLength = expected; actual = target.PacketLength; Assert.AreEqual( expected, actual ); Assert.Inconclusive( "验证此测试方法的正确性。" ); }
/// <summary> /// /// </summary> /// <returns></returns> public long GetPacketLength() { long iReturn = 0; if (EventPacketLength != null) { PacketLengthInfoEventArgs packetLengthInfoEventArgs = new PacketLengthInfoEventArgs(m_Data, m_Size, 0); EventPacketLength(this, packetLengthInfoEventArgs); iReturn = packetLengthInfoEventArgs.PacketLength; } return(iReturn); }
public void PacketLengthTest() { byte[] byteBuffer = null; // TODO: 初始化为适当的值 long bufferSize = 0; // TODO: 初始化为适当的值 long iHeadIndex = 0; // TODO: 初始化为适当的值 PacketLengthInfoEventArgs target = new PacketLengthInfoEventArgs(byteBuffer, bufferSize, iHeadIndex); // TODO: 初始化为适当的值 long expected = 0; // TODO: 初始化为适当的值 long actual; target.PacketLength = expected; actual = target.PacketLength; Assert.AreEqual(expected, actual); Assert.Inconclusive("验证此测试方法的正确性。"); }
/// <summary> /// 给出数据包的长度 /// </summary> /// <returns></returns> public long GetPacketLength() { long iReturn = 0; m_LockBuffer.Enter(); { EventHandler <PacketLengthInfoEventArgs> tempEvent = s_ThreadEventPacketLength; if (tempEvent != null) { PacketLengthInfoEventArgs packetLengthInfoEventArgs = new PacketLengthInfoEventArgs(m_Buffer, m_Size, m_Head); tempEvent(this, packetLengthInfoEventArgs); iReturn = packetLengthInfoEventArgs.PacketLength; } } m_LockBuffer.Exit(); return(iReturn); }
public void PacketLengthInfoEventArgsConstructorTest() { byte[] byteBuffer = null; // TODO: 初始化为适当的值 long bufferSize = 0; // TODO: 初始化为适当的值 long iHeadIndex = 0; // TODO: 初始化为适当的值 PacketLengthInfoEventArgs target = new PacketLengthInfoEventArgs( byteBuffer, bufferSize, iHeadIndex ); Assert.Inconclusive( "TODO: 实现用来验证目标的代码" ); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private static void RealmGetPacketLength( object sender, PacketLengthInfoEventArgs eventArgs ) { if ( eventArgs.BufferSize >= 3/*Packet ID + Length 大小*/ ) // 这是W.O.W协议的实现(因为是环绕环冲区,所以需要取模) eventArgs.PacketLength = (ushort)( ( eventArgs.Buffer[( eventArgs.HeadIndex + 1 ) % eventArgs.Buffer.Length] ) | eventArgs.Buffer[( eventArgs.HeadIndex + 2 ) % eventArgs.Buffer.Length] << 8 ); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> internal static void ReceiveQueue_PacketLength( object sender, PacketLengthInfoEventArgs eventArgs ) { if ( eventArgs.BufferSize >= 2 ) // 这是R.O.S.E的实现(因为是环绕环冲区,所以需要取模) eventArgs.PacketLength = (ushort)( ( eventArgs.Buffer[( eventArgs.HeadIndex ) % eventArgs.Buffer.Length] ) | eventArgs.Buffer[( eventArgs.HeadIndex + 1 ) % eventArgs.Buffer.Length] << 8 ); }