Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
What's new, from the README for this new version:
----------------------------------
More test coverage.
Better reference counting, fixing at least two serious bugs.
Out-of-range zhandles are now checked, fixing a potential security hole.
Docstrings! Editing and cleanup required, but most of the text is there.
zookeeper.set_watcher is now implemented correctly.
zookeeper.client_id is now implemented correctly. zookeeper.init now respects the client_id parameter.
get_context and set_context have been removed from the API. The context mechanism is used by PyZK to store the callables that are dispatched by C-side watchers. Messing with this from Python-side causes bugs very quickly. You should wrap all desired context up in a callable and then use zookeeper.set_watcher to attach it to the global watcher.
Many methods now have optional parameters (usually if you can specify a watch, it's optional). The only time where genuinely optional parameters are still mandatory is when a required parameters comes after it. Currently we still respect the ZK C client parameter ordering. For example, you can simply connect with zookeeper.init("host:port") and ignore the other three parameters.