Merge pull request #133 from yankejustin/master

Changed if statement to switch statement
This commit is contained in:
MaxXor 2015-05-15 09:30:04 +02:00
commit c3c7e75a7b
1 changed files with 47 additions and 34 deletions

View File

@ -146,7 +146,9 @@ namespace xServer.Core
while (process)
{
if (_receiveState == ReceiveType.Header)
switch (_receiveState)
{
case ReceiveType.Header:
{
process = _readableDataLen >= HEADER_SIZE;
if (process)
@ -157,14 +159,23 @@ namespace xServer.Core
_readOffset += HEADER_SIZE;
_receiveState = ReceiveType.Payload;
}
break;
}
else if (_receiveState == ReceiveType.Payload)
case ReceiveType.Payload:
{
process = _readableDataLen >= _payloadLen;
if (process)
{
byte[] payload = new byte[_payloadLen];
try
{
Array.Copy(this._buffer, _readOffset, payload, 0, payload.Length);
}
catch
{
Disconnect();
}
if (encryptionEnabled)
payload = AES.Decrypt(payload, Encoding.UTF8.GetBytes(XMLSettings.Password));
@ -187,6 +198,8 @@ namespace xServer.Core
_readableDataLen -= _payloadLen;
_receiveState = ReceiveType.Header;
}
break;
}
}
}