zk-eventmachine 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,7 +26,9 @@ module ZK
26
26
  def connect(&blk)
27
27
  # XXX: maybe move this into initialize, need to figure out how to schedule it properly
28
28
  @cnx ||= ZookeeperEM::Client.new(@host, DEFAULT_TIMEOUT, event_handler.get_default_watcher_block).tap do |c|
29
- c.on_attached { logger.debug { "connection is attached" } }
29
+ c.on_attached do
30
+ logger.debug { "connection is attached, client_id: %0x" % [c.client_id] }
31
+ end
30
32
  end
31
33
 
32
34
  @cnx.on_attached(&blk)
@@ -40,14 +42,15 @@ module ZK
40
42
  on_close(&blk)
41
43
 
42
44
  if @cnx
43
- logger.debug { "#{self.class.name}: calling @cnx.close" }
44
- @cnx.close
45
- @cnx = nil
46
-
47
- logger.debug { "#{self.class.name}: @cnx.close callback fired, clearing event_handler" }
45
+ logger.debug { "#{self.class.name}: in close! clearing event_handler" }
48
46
  event_handler.clear!
49
- logger.debug { "firing on_close handler" }
50
- on_close.succeed
47
+
48
+ logger.debug { "#{self.class.name}: calling @cnx.close" }
49
+ @cnx.close do
50
+ logger.debug { "firing on_close handler" }
51
+ on_close.succeed
52
+ @cnx = nil
53
+ end
51
54
  else
52
55
  on_close.succeed
53
56
  end
@@ -1,5 +1,5 @@
1
1
  module ZK
2
2
  module ZKEventMachine
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.5"
4
4
  end
5
5
  end
data/spec/spec_helper.rb CHANGED
@@ -12,6 +12,15 @@ Dir[File.expand_path("../support/**/*.rb", __FILE__)].each {|f| require f}
12
12
 
13
13
  $stderr.sync = true
14
14
 
15
+ case `uname -s`.chomp
16
+ when 'Linux'
17
+ $stderr.puts "WARN: setting EM.epoll = true for tests"
18
+ EM.epoll = true
19
+ when 'Darwin'
20
+ $stderr.puts "WARN: setting EM.kqueue = true for tests"
21
+ EM.kqueue = true
22
+ end
23
+
15
24
  RSpec.configure do |config|
16
25
  config.mock_with :flexmock
17
26
  end
@@ -1,8 +1,14 @@
1
1
  require 'logger'
2
2
 
3
- ZK.logger = Logger.new(File.expand_path('../../../test.log', __FILE__)).tap {|l| l.level = Logger::DEBUG}
3
+ logger = Logger.new(File.expand_path('../../../test.log', __FILE__)).tap {|l| l.level = Logger::DEBUG}
4
+
5
+ # logger = Logger.new($stderr).tap { |l| l.level = Logger::DEBUG }
6
+ # Zookeeper.set_debug_level(4)
7
+
8
+ ZK.logger = logger
4
9
  Zookeeper.logger = ZK.logger
5
10
 
11
+
6
12
  def logger
7
13
  ZK.logger
8
14
  end
@@ -23,7 +23,10 @@ module ZK::ZKEventMachine
23
23
  em do
24
24
  @zkem.connect do
25
25
  true.should be_true
26
- @zkem.close! { done }
26
+ @zkem.close! do
27
+ logger.debug { "calling done" }
28
+ done
29
+ end
27
30
  end
28
31
  end
29
32
  end
@@ -7,6 +7,7 @@ module ZK::ZKEventMachine
7
7
 
8
8
  before do
9
9
  @zk = ::ZK.new
10
+ logger.debug { "threaded client has client id: %0x" % [@zk.cnx.client_id] }
10
11
  @base_path = '/zk-em-testing'
11
12
  @zk.rm_rf(@base_path)
12
13
  @zk.mkdir_p(@base_path)
@@ -13,6 +13,9 @@ Gem::Specification.new do |s|
13
13
  s.description = s.description
14
14
 
15
15
  s.add_dependency('zk', '~> 0.8.3')
16
+
17
+ # zk depends on slyphon-zookeeper, but we need at least this version
18
+ s.add_dependency('slyphon-zookeeper', '~> 0.2.4')
16
19
  s.add_dependency('eventmachine', '>= 0.12.10')
17
20
 
18
21
  s.add_development_dependency('rspec', '~> 2.5.0')
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zk-eventmachine
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 4
10
- version: 0.1.4
9
+ - 5
10
+ version: 0.1.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jonathan D. Simms
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-06-28 00:00:00 +00:00
18
+ date: 2011-06-29 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -35,9 +35,25 @@ dependencies:
35
35
  type: :runtime
36
36
  version_requirements: *id001
37
37
  - !ruby/object:Gem::Dependency
38
- name: eventmachine
38
+ name: slyphon-zookeeper
39
39
  prerelease: false
40
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 31
46
+ segments:
47
+ - 0
48
+ - 2
49
+ - 4
50
+ version: 0.2.4
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: eventmachine
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
41
57
  none: false
42
58
  requirements:
43
59
  - - ">="
@@ -49,11 +65,11 @@ dependencies:
49
65
  - 10
50
66
  version: 0.12.10
51
67
  type: :runtime
52
- version_requirements: *id002
68
+ version_requirements: *id003
53
69
  - !ruby/object:Gem::Dependency
54
70
  name: rspec
55
71
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
72
+ requirement: &id004 !ruby/object:Gem::Requirement
57
73
  none: false
58
74
  requirements:
59
75
  - - ~>
@@ -65,11 +81,11 @@ dependencies:
65
81
  - 0
66
82
  version: 2.5.0
67
83
  type: :development
68
- version_requirements: *id003
84
+ version_requirements: *id004
69
85
  - !ruby/object:Gem::Dependency
70
86
  name: yard
71
87
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
88
+ requirement: &id005 !ruby/object:Gem::Requirement
73
89
  none: false
74
90
  requirements:
75
91
  - - ~>
@@ -81,11 +97,11 @@ dependencies:
81
97
  - 0
82
98
  version: 0.7.0
83
99
  type: :development
84
- version_requirements: *id004
100
+ version_requirements: *id005
85
101
  - !ruby/object:Gem::Dependency
86
102
  name: autotest
87
103
  prerelease: false
88
- requirement: &id005 !ruby/object:Gem::Requirement
104
+ requirement: &id006 !ruby/object:Gem::Requirement
89
105
  none: false
90
106
  requirements:
91
107
  - - ">="
@@ -97,11 +113,11 @@ dependencies:
97
113
  - 0
98
114
  version: 4.4.0
99
115
  type: :development
100
- version_requirements: *id005
116
+ version_requirements: *id006
101
117
  - !ruby/object:Gem::Dependency
102
118
  name: flexmock
103
119
  prerelease: false
104
- requirement: &id006 !ruby/object:Gem::Requirement
120
+ requirement: &id007 !ruby/object:Gem::Requirement
105
121
  none: false
106
122
  requirements:
107
123
  - - ~>
@@ -113,11 +129,11 @@ dependencies:
113
129
  - 10
114
130
  version: 0.8.10
115
131
  type: :development
116
- version_requirements: *id006
132
+ version_requirements: *id007
117
133
  - !ruby/object:Gem::Dependency
118
134
  name: evented-spec
119
135
  prerelease: false
120
- requirement: &id007 !ruby/object:Gem::Requirement
136
+ requirement: &id008 !ruby/object:Gem::Requirement
121
137
  none: false
122
138
  requirements:
123
139
  - - ~>
@@ -129,7 +145,7 @@ dependencies:
129
145
  - 1
130
146
  version: 0.4.1
131
147
  type: :development
132
- version_requirements: *id007
148
+ version_requirements: *id008
133
149
  description: ""
134
150
  email:
135
151
  - slyphon@hp.com