1
0
mirror of https://github.com/lidgren/lidgren-network-gen3.git synced 2026-05-16 07:06:30 +09:00

NetServer.Disconnect added; Buffer.BlockCopy used in NetBitWriter

This commit is contained in:
lidgren
2010-07-26 07:39:02 +00:00
parent ced71204ac
commit bbeb7dfb2a
3 changed files with 19 additions and 5 deletions

View File

@@ -72,8 +72,7 @@ namespace Lidgren.Network
if (startReadAtIndex == 0)
{
for (int i = 0; i < numberOfBytes; i++)
destination[destinationByteOffset++] = fromBuffer[readPtr++];
Buffer.BlockCopy(fromBuffer, readPtr, destination, destinationByteOffset, numberOfBytes);
return;
}
@@ -146,9 +145,7 @@ namespace Lidgren.Network
if (firstPartLen == 0)
{
// optimized; TODO: write 32 bit chunks if possible
for (int i = 0; i < numberOfBytes; i++)
destination[dstBytePtr++] = source[sourceByteOffset + i];
Buffer.BlockCopy(source, sourceByteOffset, destination, dstBytePtr, numberOfBytes);
return;
}

View File

@@ -29,5 +29,10 @@ namespace Lidgren.Network
// force this to true
config.AcceptIncomingConnections = true;
}
public void Disconnect(NetConnection connection, string byeMessage)
{
connection.Disconnect(byeMessage);
}
}
}

View File

@@ -107,6 +107,18 @@ namespace UnitTests
bool one = rdr.ReadBoolean();
string hallon = rdr.ReadString();
byte fourtyTwo = rdr.ReadByte();
// test aligned WriteBytes/ReadBytes
msg = peer.CreateMessage();
byte[] tmparr = new byte[] { 5, 6, 7, 8, 9 };
msg.Write(tmparr);
inc = Program.CreateIncomingMessage(msg.PeekDataBuffer(), msg.LengthBits);
byte[] result = inc.ReadBytes(tmparr.Length);
for (int i = 0; i < tmparr.Length; i++)
if (tmparr[i] != result[i])
throw new Exception("readbytes fail");
}
}