private bool FillBuffer(byte[] buffer, int filledBytesCount)
{
int bytesFilledTotal = filledBytesCount;
while (bytesFilledTotal < buffer.Length)
{
byte[] bf = new byte[buffer.Length - bytesFilledTotal];
int bytesFilledAtOneStep = socket.Receive(bf);
if (bytesFilledAtOneStep == -1)
return false;
Buffer.BlockCopy(bf, 0, buffer, bytesFilledTotal, bf.Length);
bytesFilledTotal += bytesFilledAtOneStep;
}
return true;
}