public void StartDataTransfer(int timeout = 0) { if (timeout < 0) { throw new ArgumentException("timeout may not be negative"); } startdtConSignal = new CountDownLatch(1); writer.Write(StartdtActBuffer, 0, StartdtActBuffer.Length); writer.Flush(); if (timeout == 0) { startdtConSignal.Wait(); } else { startdtConSignal.Wait(timeout); } }