Github user cammckenzie commented on a diff in the pull request:

    https://github.com/apache/curator/pull/9#discussion_r13730021
  
    --- Diff: 
curator-framework/src/main/java/org/apache/curator/framework/CuratorFramework.java
 ---
    @@ -210,4 +213,28 @@
          * @param watcher the watcher
          */
         public void clearWatcherReferences(Watcher watcher);
    +    
    +    /**
    +     * Get the current connection state. The connection state will have a 
value of 0 until
    +     * the first connection related event is received.
    +     * @return The current connection state, or null if it is unknown 
    +     */
    +    public ConnectionState getCurrentConnectionState();
    +    
    +    /**
    +     * Block until a connection to ZooKeeper is available or the 
maxWaitTime has been exceeded
    +     * @param maxWaitTime The maximum wait time. Specify a value <= 0 to 
wait indefinitely
    +     * @param units The time units for the maximum wait time.
    +     * @return True if connection has been established, false otherwise.
    +     * @throws InterruptedException If interrupted while waiting
    +     */
    +    public boolean blockUntilConnected(int maxWaitTime, TimeUnit units) 
throws InterruptedException;
    --- End diff --
    
    The blockUntilConnectedOrTimedOut() method doesn't do what is needed in 
this case, because there's no way of specifying a timeout. We could call it in 
a loop I guess, but would need a second thread to interrupt it when our 
specified time out occurred, which is pretty ugly. Alternatively, we could 
modify the CuratorZookeeperClient to expose a blockUntilConnected() method that 
takes a time out? And have blockUntilConnectedOrTimedOut call this with the 
connection time out? Preferences?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to