Sha256: aeeac42149d7ed67e5306931de20c57586b291c0f5a58b0abcf7cba209fe9d93
Contents?: true
Size: 947 Bytes
Versions: 5
Compression:
Stored size: 947 Bytes
Contents
#!/usr/bin/env ruby require 'zk' LOG = Logger.new($stderr).tap { |n| n.level = Logger::DEBUG } ZK.logger = LOG Zookeeper.logger = LOG class CloseInEventThread include ZookeeperConstants def initialize @zk = ZK.new @q = Queue.new end def run @zk.on_connecting do |event| if @ok_do_it logger.debug { "ok, calling close, in event thread? #{@zk.event_dispatch_thread?}" } @zk.close! logger.debug { "close! returned, continuing" } @q.push(:OK) else logger.debug { "on_connecting, got event #{event}" } end end @ok_do_it = true logger.debug { "push bogus ZOO_CONNECTING_STATE event into queue" } @zk.__send__(:cnx).event_queue.push(:req_id => -1, :type => -1, :state => ZOO_CONNECTING_STATE, :path => '') rval = @q.pop logger.debug { "got #{rval.inspect}" } @zk.close! end def logger LOG end end CloseInEventThread.new.run
Version data entries
5 entries across 5 versions & 1 rubygems