internal void internalBlockUntilConnectedOrTimedOut() { TimeSpan waitTimeMs = TimeSpan.FromMilliseconds(connectionTimeoutMs); while (!state.isConnected() && (waitTimeMs > TimeSpan.Zero)) { Barrier latch = new Barrier(2); Watcher tempWatcher = new ConnectionSuccessWatcher(latch); state.addParentWatcher(tempWatcher); DateTime startTimeMs = DateTime.Now; try { latch.SignalAndWait(TimeSpan.FromSeconds(1)); } finally { state.removeParentWatcher(tempWatcher); } waitTimeMs -= DateTime.Now - startTimeMs; } }
internal void internalBlockUntilConnectedOrTimedOut() { TimeSpan waitTimeMs = TimeSpan.FromMilliseconds(connectionTimeoutMs); while ( !state.isConnected() && (waitTimeMs > TimeSpan.Zero) ) { Barrier latch = new Barrier(2); Watcher tempWatcher = new ConnectionSuccessWatcher(latch); state.addParentWatcher(tempWatcher); DateTime startTimeMs = DateTime.Now; try { latch.SignalAndWait(TimeSpan.FromSeconds(1)); } finally { state.removeParentWatcher(tempWatcher); } waitTimeMs -= DateTime.Now - startTimeMs; } }