mirror of https://github.com/quasar/Quasar.git
Small improvement to Socket Receive
This commit is contained in:
parent
b459c861de
commit
afb364057e
|
@ -388,15 +388,15 @@ namespace xClient.Core.Networking
|
|||
{
|
||||
if (_readableDataLen >= HEADER_SIZE)
|
||||
{ // we can read the header
|
||||
int size = (_appendHeader) ?
|
||||
HEADER_SIZE - _tempHeaderOffset
|
||||
int headerLength = (_appendHeader)
|
||||
? HEADER_SIZE - _tempHeaderOffset
|
||||
: HEADER_SIZE;
|
||||
|
||||
try
|
||||
{
|
||||
if (_appendHeader)
|
||||
{
|
||||
Array.Copy(readBuffer, _readOffset, _tempHeader, _tempHeaderOffset, size);
|
||||
Array.Copy(readBuffer, _readOffset, _tempHeader, _tempHeaderOffset, headerLength);
|
||||
_payloadLen = BitConverter.ToInt32(_tempHeader, 0);
|
||||
_tempHeaderOffset = 0;
|
||||
_appendHeader = false;
|
||||
|
@ -416,8 +416,8 @@ namespace xClient.Core.Networking
|
|||
break;
|
||||
}
|
||||
|
||||
_readableDataLen -= size;
|
||||
_readOffset += size;
|
||||
_readableDataLen -= headerLength;
|
||||
_readOffset += headerLength;
|
||||
_receiveState = ReceiveType.Payload;
|
||||
}
|
||||
else // _parentServer.HEADER_SIZE < _readableDataLen
|
||||
|
@ -434,11 +434,9 @@ namespace xClient.Core.Networking
|
|||
if (_payloadBuffer == null || _payloadBuffer.Length != _payloadLen)
|
||||
_payloadBuffer = new byte[_payloadLen];
|
||||
|
||||
int length = _readableDataLen;
|
||||
if (_writeOffset + _readableDataLen >= _payloadLen)
|
||||
{
|
||||
length = _payloadLen - _writeOffset;
|
||||
}
|
||||
int length = (_writeOffset + _readableDataLen >= _payloadLen)
|
||||
? _payloadLen - _writeOffset
|
||||
: _readableDataLen;
|
||||
|
||||
try
|
||||
{
|
||||
|
|
|
@ -341,15 +341,15 @@ namespace xServer.Core.Networking
|
|||
{
|
||||
if (_readableDataLen >= _parentServer.HEADER_SIZE)
|
||||
{ // we can read the header
|
||||
int size = (_appendHeader) ?
|
||||
_parentServer.HEADER_SIZE - _tempHeaderOffset
|
||||
int headerLength = (_appendHeader)
|
||||
? _parentServer.HEADER_SIZE - _tempHeaderOffset
|
||||
: _parentServer.HEADER_SIZE;
|
||||
|
||||
try
|
||||
{
|
||||
if (_appendHeader)
|
||||
{
|
||||
Array.Copy(readBuffer, _readOffset, _tempHeader, _tempHeaderOffset, size);
|
||||
Array.Copy(readBuffer, _readOffset, _tempHeader, _tempHeaderOffset, headerLength);
|
||||
_payloadLen = BitConverter.ToInt32(_tempHeader, 0);
|
||||
_tempHeaderOffset = 0;
|
||||
_appendHeader = false;
|
||||
|
@ -369,8 +369,8 @@ namespace xServer.Core.Networking
|
|||
break;
|
||||
}
|
||||
|
||||
_readableDataLen -= size;
|
||||
_readOffset += size;
|
||||
_readableDataLen -= headerLength;
|
||||
_readOffset += headerLength;
|
||||
_receiveState = ReceiveType.Payload;
|
||||
}
|
||||
else // _parentServer.HEADER_SIZE < _readableDataLen
|
||||
|
@ -387,11 +387,9 @@ namespace xServer.Core.Networking
|
|||
if (_payloadBuffer == null || _payloadBuffer.Length != _payloadLen)
|
||||
_payloadBuffer = new byte[_payloadLen];
|
||||
|
||||
int length = _readableDataLen;
|
||||
if (_writeOffset + _readableDataLen >= _payloadLen)
|
||||
{
|
||||
length = _payloadLen - _writeOffset;
|
||||
}
|
||||
int length = (_writeOffset + _readableDataLen >= _payloadLen)
|
||||
? _payloadLen - _writeOffset
|
||||
: _readableDataLen;
|
||||
|
||||
try
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue