zk-eventmachine 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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