public int Read(byte[] readto, int offset, int length) { int count = 0; while (buffer.Size == 0) { GetData(); System.Threading.Thread.Sleep(1); if (count > ReadTimeout) { throw new Exception("MAVLinkSerialPort Timeout on read"); } count += 1; } lock (buffer) { return(buffer.Get(readto, offset, length)); } }
public int Read(byte[] readto, int offset, int length) { int count = 0; DateTime deadline = DateTime.Now.AddMilliseconds(timeout); while (buffer.Size == 0) { GetData(); System.Threading.Thread.Sleep(1); if (DateTime.Now > deadline) { throw new Exception("MAVLinkSerialPort Timeout on read"); } count += 1; } lock (buffer) { return(buffer.Get(readto, offset, length)); } }