コード例 #1
0
ファイル: HandleHolder.cs プロジェクト: shayhatsor/curator
 //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);
 }
コード例 #2
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;
            }
        }