Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Mar 8, 2014
  1. big roles and responsibilities refactor

    Protocol - provides an interface for reading and writing "records"
    transforming them from/to length encoded "packets"
    Connection - eventmachine or socket now only provides methods for
    connecting with a timeout and reading with a timeout
    Session - does all the hard work of managing connection state,
    queuing requests, processing replies and watches etc and nothing else.
    Uses an injected connection factory to create connections and then reads
    and writes records using the Protocol methods only.
    Operation/OperationType - factors out knowledge of operations, op_codes,
    request and response classes etc previously scattered throughout client
    and session.
    Client -  provides the ruby interface to zookeeper operations, including
    managing any chroot path conversions, and duck typing watchers.
    The purpose of this is to make things more testable, particularly for
    error conditions that are hard to reproduce with a local ZK server.
Commits on Feb 11, 2014
  1. version bump

Commits on Jul 27, 2013
  1. empathy and bundler

    Using bundler config for all gem related stuff instead of hoe.
    Replace strand with new empathy implementation for using zkruby with
Commits on Mar 5, 2012
  1. Refactor strand usage for eventmachine binding

    Implementation now works like rubyio, use a single
    event strand to process callbacks/watchers instead
    of separate strands per event
    Old model was broken for nested synchronous event
    This model is much more performant
Commits on Feb 24, 2012
  1. wrapped op bugfix

Commits on Feb 23, 2012
Commits on Feb 12, 2012
  1. Implement pass and use in rmpath

    Processing long lists of children can block the event machine
    or even hold a thread long enough to allow a session to expire
    ZK.pass simply called Thread.pass (for rubyio) or Strand.pass (eventmachine)
    to allow the session to stay alive
    TODO: work out the optimal point at which pass is required
Commits on Feb 9, 2012
  1. bump version

Commits on Feb 7, 2012
Commits on Feb 6, 2012
  1. doc fix

  2. fix rake jute under JRuby

Commits on Feb 5, 2012
  1. bump version

  2. make sure lib/jute exists

Commits on Feb 3, 2012
  1. bump version to

  2. Implement multi on 3.4

Commits on Jan 27, 2012
Commits on Jan 24, 2012
Commits on Jan 23, 2012
  1. Refactored error callbacks and exceptions

    Use "strand" library for thread like behaviour in EM
Commits on Dec 29, 2011
Commits on Dec 19, 2011
Commits on Dec 18, 2011
  1. remove unused code

Commits on Dec 17, 2011
Something went wrong with that request. Please try again.