Nice! thanks for passing it along. I've updated the client bindings
wiki page to include:
https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZKClientBindings

Patrick

On Thu, Aug 18, 2011 at 9:12 PM, Gustavo Niemeyer <gust...@niemeyer.net> wrote:
> Greetings,
>
> A significant update to gozk, the ZooKeeper bindings for Go, was just
> released.  Among other things, this update includes several small
> tweaks to Event handling to make it easier to produce correct code.
>
> gozk is an experiment we push as part of Ensemble at Canonical:
>
>   https://wiki.ubuntu.com/gozk
>
> API documentation is available at:
>
>   http://goneat.org/lp/gozk
>
> The following changes and improvements were made.  Please read it
> through as there are incompatible changes.
>
> - Event channels will now receive Event rather than *Event.
>
> - STATE_CLOSED has been changed to 0 so that events obtained
>  from closed channels can be more easily handled.
>
> - Session event channel is now buffered. You should still consume
>  events from it if your application is long-living, though,
>  for processing session expirations with re-connections or panics.
>  If the session channel buffer fills up, the application will
>  panic.
>
> - Watch event channels will not receive transient events such as
>  STATE_CONNECTING or STATE_ASSOCIATING anymore, since they
>  disrupt the workflow unnecessarily.  These events are still
>  sent to the session event channel, though, and critical
>  events such as STATE_EXPIRED_SESSION are still sent to
>  watch channels.
>
>  For a full description of how events are now handled, see
>  the documentation:
>
>     http://goneat.org/lp/gozk#Event
>
> - Event now has Ok and String methods. The Ok method returns
>  true if the event reports a usable connection to ZooKeeper,
>  and String enables using critical events as errors.
>
>  Combined, these methods enable simplified watch handling:
>
>     event := <-watch
>     if !event.Ok() {
>         err = event
>         return
>     }
>
> - Init and ReInit now take parameters in nanoseconds rather than
>  milliseconds, sice that's the most used convention in Go. Make
>  sure you update the calls.
>
> - Several functions were renamed for improved styling:
>
>     zk.GetACL => zk.ACL
>     zk.GetChildren => zk.Children
>     zk.GetChildrenW => zk.ChildrenW
>     zk.GetClientId => zk.ClientId
>
>
> --
> Gustavo Niemeyer
> http://niemeyer.net
> http://niemeyer.net/plus
> http://niemeyer.net/twitter
> http://niemeyer.net/blog
>
> -- I never filed a patent.
>

Reply via email to