//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: private void internalClose() throws Exception private Task internalClose() { var zooKeeper = helper != null ? helper.getZooKeeper() : null; if (zooKeeper != null) { Watcher dummyWatcher = new WatcherAnonymousInnerClassHelper(this); zooKeeper.register(dummyWatcher); // clear the default watcher so that no new events get processed by mistake return zooKeeper.closeAsync(); } return Task.FromResult(0); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: void internalBlockUntilConnectedOrTimedOut() throws InterruptedException internal virtual void internalBlockUntilConnectedOrTimedOut() { long waitTimeMs = connectionTimeoutMs; while (!state.isConnected() && (waitTimeMs > 0)) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.util.concurrent.CountDownLatch latch = new java.util.concurrent.CountDownLatch(1); CountDownLatch latch = new CountDownLatch(1); Watcher tempWatcher = new WatcherAnonymousInnerClassHelper(this, latch); state.addParentWatcher(tempWatcher); var startTimeMs = TimeHelper.ElapsedMiliseconds; try { latch.@await(1, TimeUnit.SECONDS); } finally { state.removeParentWatcher(tempWatcher); } var elapsed = Math.Max(1, TimeHelper.ElapsedMiliseconds - startTimeMs); waitTimeMs -= elapsed; } }