public bool Send(byte[] data) { if (IsCanSend(data.Length)) { if (data.Length <= PacketSize) { dataToSend.Enqueue(data); } else { int rPos = 0; int step = PacketSize; while (rPos < data.Length) { if (data.Length - rPos >= PacketSize) { step = PacketSize; } else { step = data.Length - rPos; } byte[] block = new byte[step]; for (int i = 0; i < step; i++) { block[i] = data[rPos + i]; } rPos += step; dataToSend.Enqueue(block); } } PerformProtocol(); return(true); } else { return(false); } }
public void Send(byte[] data) { dataToSend.Enqueue(data); }