dcell 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,10 @@
1
1
  rvm:
2
2
  - 1.9.2
3
3
  - 1.9.3
4
- # - rbx crashing :(
5
- - jruby
6
4
  - ruby-head
5
+ - jruby-19mode
6
+ - jruby-head
7
7
 
8
- env: "JRUBY_OPTS=--1.9"
8
+ # Rubies I would like to support, but they deadlock
9
+ # - rbx-18mode
10
+ # - rbx-19mode
data/CHANGES.md CHANGED
@@ -1,3 +1,7 @@
1
+ 0.9.0
2
+ -----
3
+ * Use new Celluloid::ZMQ APIs
4
+
1
5
  0.8.0
2
6
  -----
3
7
  * Track calls in-flight with DCell::RPC and DCell::RPC::Manager
@@ -12,7 +16,3 @@
12
16
  0.0.1
13
17
  -----
14
18
  * Initial release
15
-
16
- 0.0.0
17
- -----
18
- * Vapoware release to claim the "dcell" gem name >:D
data/README.md CHANGED
@@ -1,5 +1,13 @@
1
- DCell
1
+ ![DCell](https://github.com/tarcieri/dcell/raw/master/logo.png)
2
2
  =====
3
+ [![Build Status](http://travis-ci.org/tarcieri/dcell.png)](http://travis-ci.org/tarcieri/dcell)
4
+
5
+ > "Objects can message objects transparently that live on other machines
6
+ > over the network, and you don't have to worry about the networking gunk,
7
+ > and you don't have to worry about finding them, and you don't have to
8
+ > worry about anything. It's just as if you messaged an object that's
9
+ > right next door."
10
+ > _--Steve Jobs describing the NeXT Portable Distributed Object system_
3
11
 
4
12
  DCell is a simple and easy way to build distributed applications in Ruby.
5
13
  Somewhat similar to DRb, DCell lets you easily expose Ruby objects as network
@@ -30,9 +38,9 @@ Not entirely, but eager early adopters are welcome!
30
38
  Supported Platforms
31
39
  -------------------
32
40
 
33
- DCell works on Ruby 1.9.2/1.9.3, JRuby 1.6 (in 1.9 mode), and Rubinius 2.0.
41
+ DCell works on Ruby 1.9.2/1.9.3, JRuby 1.6 (in 1.9 mode), JRuby 1.7, and Rubinius 2.0.
34
42
 
35
- To use JRuby in 1.9 mode, you'll need to pass the "--1.9" command line
43
+ To use JRuby 1.6 in 1.9 mode, you'll need to pass the "--1.9" command line
36
44
  option to the JRuby executable, or set the "JRUBY_OPTS=--1.9" environment
37
45
  variable:
38
46
 
@@ -41,6 +49,8 @@ variable:
41
49
  (Note: I'd recommend putting the above in your .bashrc/.zshrc/etc in
42
50
  general. 1.9 is the future, time to embrace it)
43
51
 
52
+ To use JRuby 1.7 in 1.9 mode...just use it :)
53
+
44
54
  Celluloid works on Rubinius in either 1.8 or 1.9 mode.
45
55
 
46
56
  All components, including the 0MQ bindings, Redis, and Zookeeper adapters
@@ -269,4 +279,4 @@ components.
269
279
  Copyright
270
280
  ---------
271
281
 
272
- Copyright (c) 2011 Tony Arcieri. See LICENSE.txt for further details.
282
+ Copyright (c) 2011 Tony Arcieri. See LICENSE.txt for further details.
@@ -1,3 +1,10 @@
1
+ 0.9.0
2
+ -----
3
+ * New 0MQ APIs which wrap ffi-rzmq's
4
+ * Terminate the 0MQ context at shutdown
5
+ * Use Celluloid::IO 0.9.0's reactor injection support so we no longer have to
6
+ subclass Celluloid::IO::Mailbox
7
+
1
8
  0.8.0
2
9
  -----
3
10
  * Update to match internals of celluloid-io
@@ -11,13 +11,13 @@ Gem::Specification.new do |gem|
11
11
  gem.name = "celluloid-zmq"
12
12
  gem.version = Celluloid::ZMQ::VERSION
13
13
 
14
- gem.add_dependency "celluloid", "~> 0.8.0"
15
- gem.add_dependency "celluloid-io", "~> 0.8.0"
14
+ gem.add_dependency "celluloid", "~> 0.9.0"
15
+ gem.add_dependency "celluloid-io", "~> 0.9.0"
16
16
  gem.add_dependency "ffi"
17
17
  gem.add_dependency "ffi-rzmq"
18
18
 
19
19
  gem.add_development_dependency "rake"
20
- gem.add_development_dependency "rspec", ">= 2.7.0"
20
+ gem.add_development_dependency "rspec"
21
21
 
22
22
  # Files
23
23
  ignores = File.read(".gitignore").split(/\r?\n/).reject{ |f| f =~ /^(#.+|\s*)$/ }.map {|f| Dir[f] }.flatten
@@ -1,8 +1,8 @@
1
1
  require 'ffi-rzmq'
2
2
 
3
3
  require 'celluloid/io'
4
- require 'celluloid/zmq/mailbox'
5
4
  require 'celluloid/zmq/reactor'
5
+ require 'celluloid/zmq/sockets'
6
6
  require 'celluloid/zmq/version'
7
7
  require 'celluloid/zmq/waker'
8
8
 
@@ -15,19 +15,22 @@ module Celluloid
15
15
  # Included hook to pull in Celluloid
16
16
  def included(klass)
17
17
  klass.send :include, ::Celluloid
18
- klass.use_mailbox Celluloid::ZMQ::Mailbox
18
+ klass.use_mailbox { Celluloid::IO::Mailbox.new ZMQ::Reactor.new }
19
19
  end
20
20
 
21
21
  # Obtain a 0MQ context (or lazily initialize it)
22
- def context
23
- @context ||= ::ZMQ::Context.new(1)
22
+ def context(threads = 1)
23
+ return @context if @context
24
+ @context = ::ZMQ::Context.new(threads)
25
+ at_exit { @context.terminate }
26
+ @context
24
27
  end
28
+ alias_method :init, :context
25
29
  end
26
30
 
27
31
  extend Forwardable
28
32
 
29
33
  # Wait for the given IO object to become readable/writeable
30
- def_delegators 'current_actor.mailbox.reactor',
31
- :wait_readable, :wait_writeable
34
+ def_delegators 'current_actor.mailbox.reactor', :wait_readable, :wait_writeable
32
35
  end
33
36
  end
@@ -0,0 +1,130 @@
1
+ module Celluloid
2
+ module ZMQ
3
+ class Socket
4
+ # Create a new socket
5
+ def initialize(type)
6
+ @socket = Celluloid::ZMQ.context.socket ::ZMQ.const_get(type.to_s.upcase)
7
+ end
8
+
9
+ # Connect to the given 0MQ address
10
+ # Address should be in the form: tcp://1.2.3.4:5678/
11
+ def connect(addr)
12
+ puts "zomg connecting"
13
+ unless ::ZMQ::Util.resultcode_ok? @socket.connect addr
14
+ raise IOError, "error connecting to #{addr}: #{::ZMQ::Util.error_string}"
15
+ end
16
+ true
17
+ end
18
+
19
+ # Bind to the given 0MQ address
20
+ # Address should be in the form: tcp://1.2.3.4:5678/
21
+ def bind(addr)
22
+ unless ::ZMQ::Util.resultcode_ok? @socket.setsockopt(::ZMQ::LINGER, 0)
23
+ @socket.close
24
+ raise IOError, "couldn't set ZMQ::LINGER: #{::ZMQ::Util.error_string}"
25
+ end
26
+
27
+ unless ::ZMQ::Util.resultcode_ok? @socket.bind(addr)
28
+ raise IOError, "couldn't bind to #{addr}: #{::ZMQ::Util.error_string}"
29
+ end
30
+ end
31
+
32
+ # Close the socket
33
+ def close
34
+ @socket.close
35
+ end
36
+
37
+ # Does the 0MQ socket support evented operation?
38
+ def evented?
39
+ actor = Thread.current[:actor]
40
+ return unless actor
41
+
42
+ mailbox = actor.mailbox
43
+ mailbox.is_a?(Celluloid::IO::Mailbox) && mailbox.reactor.is_a?(Celluloid::ZMQ::Reactor)
44
+ end
45
+
46
+ # Hide ffi-rzmq internals
47
+ alias_method :inspect, :to_s
48
+ end
49
+
50
+ # Readable 0MQ sockets have a read method
51
+ module ReadableSocket
52
+ # Read a message from the socket
53
+ def read(buffer = '')
54
+ Celluloid.current_actor.wait_readable(@socket) if evented?
55
+
56
+ unless ::ZMQ::Util.resultcode_ok? @socket.recv_string buffer
57
+ raise IOError, "error receiving ZMQ string: #{::ZMQ::Util.error_string}"
58
+ end
59
+ buffer
60
+ end
61
+ end
62
+
63
+ # Writable 0MQ sockets have a send method
64
+ module WritableSocket
65
+ # Send a message to the socket
66
+ def send(message)
67
+ unless ::ZMQ::Util.resultcode_ok? @socket.send_string message
68
+ raise IOError, "error sending 0MQ message: #{::ZMQ::Util.error_string}"
69
+ end
70
+
71
+ message
72
+ end
73
+ alias_method :<<, :send
74
+ end
75
+
76
+ # ReqSockets are the counterpart of RepSockets (REQ/REP)
77
+ class ReqSocket < Socket
78
+ include ReadableSocket
79
+
80
+ def initialize
81
+ super :req
82
+ end
83
+ end
84
+
85
+ # RepSockets are the counterpart of ReqSockets (REQ/REP)
86
+ class RepSocket < Socket
87
+ include WritableSocket
88
+
89
+ def initialize
90
+ super :rep
91
+ end
92
+ end
93
+
94
+ # PushSockets are the counterpart of PullSockets (PUSH/PULL)
95
+ class PushSocket < Socket
96
+ include WritableSocket
97
+
98
+ def initialize
99
+ super :push
100
+ end
101
+ end
102
+
103
+ # PullSockets are the counterpart of PushSockets (PUSH/PULL)
104
+ class PullSocket < Socket
105
+ include ReadableSocket
106
+
107
+ def initialize
108
+ super :pull
109
+ end
110
+ end
111
+
112
+ # PubSockets are the counterpart of SubSockets (PUB/SUB)
113
+ class PubSocket < Socket
114
+ include WritableSocket
115
+
116
+ def initialize
117
+ super :pub
118
+ end
119
+ end
120
+
121
+ # SubSockets are the counterpart of PubSockets (PUB/SUB)
122
+ class SubSocket < Socket
123
+ include ReadableSocket
124
+
125
+ def initialize
126
+ super :sub
127
+ end
128
+ end
129
+ end
130
+ end
@@ -1,5 +1,5 @@
1
1
  module Celluloid
2
2
  module ZMQ
3
- VERSION = "0.8.0"
3
+ VERSION = "0.9.1"
4
4
  end
5
5
  end
@@ -16,12 +16,13 @@ Gem::Specification.new do |gem|
16
16
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
17
  gem.require_paths = ["lib"]
18
18
 
19
- gem.add_dependency "celluloid", "~> 0.8.0"
20
- gem.add_dependency "celluloid-zmq", "~> 0.8.0"
19
+ gem.add_dependency "celluloid", "~> 0.9.0"
20
+ gem.add_dependency "celluloid-zmq", "~> 0.9.0"
21
21
  gem.add_dependency "redis"
22
22
  gem.add_dependency "redis-namespace"
23
+ gem.add_dependency "moneta"
23
24
 
24
25
  gem.add_development_dependency "rake"
25
- gem.add_development_dependency "rspec", "~> 2.7.0"
26
+ gem.add_development_dependency "rspec"
26
27
  #gem.add_development_dependency "zk"
27
28
  end
@@ -1,7 +1,9 @@
1
1
  require 'celluloid'
2
2
  require 'celluloid/zmq'
3
- require 'dcell/version'
4
3
 
4
+ Celluloid::ZMQ.init
5
+
6
+ require 'dcell/version'
5
7
  require 'dcell/actor_proxy'
6
8
  require 'dcell/directory'
7
9
  require 'dcell/mailbox_proxy'
@@ -14,18 +16,17 @@ require 'dcell/rpc'
14
16
  require 'dcell/server'
15
17
 
16
18
  require 'dcell/registries/redis_adapter'
19
+ require 'dcell/registries/moneta_adapter'
20
+
17
21
  require 'dcell/celluloid_ext'
18
22
 
19
23
  # Distributed Celluloid
20
24
  module DCell
21
25
  DEFAULT_PORT = 7777 # Default DCell port
22
- ZMQ_POOL_SIZE = 1 # DCell uses a fixed-size 0MQ thread pool
23
-
24
- @zmq_context = Celluloid::ZMQ.context = ::ZMQ::Context.new(ZMQ_POOL_SIZE)
25
26
  @config_lock = Mutex.new
26
27
 
27
28
  class << self
28
- attr_reader :me, :registry, :zmq_context
29
+ attr_reader :me, :registry
29
30
 
30
31
  # Configure DCell with the following options:
31
32
  #
@@ -84,11 +84,13 @@ module DCell
84
84
  def socket
85
85
  return @socket if @socket
86
86
 
87
- @socket = DCell.zmq_context.socket(::ZMQ::PUSH)
88
- unless ::ZMQ::Util.resultcode_ok? @socket.connect @addr
87
+ @socket = Celluloid::ZMQ::PushSocket.new
88
+ begin
89
+ @socket.connect addr
90
+ rescue IOError
89
91
  @socket.close
90
92
  @socket = nil
91
- raise "error connecting to #{addr}: #{::ZMQ::Util.error_string}"
93
+ raise
92
94
  end
93
95
 
94
96
  transition :connected
@@ -126,20 +128,12 @@ module DCell
126
128
  # Send a message to another DCell node
127
129
  def send_message(message)
128
130
  begin
129
- string = Marshal.dump(message)
131
+ message = Marshal.dump(message)
130
132
  rescue => ex
131
133
  abort ex
132
134
  end
133
135
 
134
- if ::ZMQ::Util.resultcode_ok? socket.send_string string
135
- # Ideally we could reset the heartbeat counter now because we've sent
136
- # a message. Heartbeats could work off all messages rather than just
137
- # DCell::Message::Heartbeat. Unfortunately this functionality is not
138
- # yet implemented, sorry!
139
- # @heartbeat.reset
140
- else
141
- raise "error sending 0MQ message: #{::ZMQ::Util.error_string}"
142
- end
136
+ socket << message
143
137
  end
144
138
  alias_method :<<, :send_message
145
139
 
@@ -0,0 +1,61 @@
1
+ require 'moneta'
2
+ require 'moneta/memory'
3
+
4
+ module DCell
5
+ module Registry
6
+ class MonetaAdapter
7
+ def initialize(options)
8
+ # Convert all options to symbols :/
9
+ options = options.inject({}) { |h,(k,v)| h[k.to_sym] = v; h }
10
+
11
+ @env = options[:env] || 'production'
12
+ @namespace = options[:namespace] || "dcell_#{@env}"
13
+
14
+ # We might want to use something like a TieredCache later..
15
+ # Memory + BasicFile..
16
+ # @moneta = Moneta::TieredCache.new options
17
+ @moneta = Moneta::Memory.new options
18
+
19
+ @node_registry = Registry.new(@moneta, :nodes)
20
+ @global_registry = Registry.new(@moneta, :globals)
21
+ end
22
+
23
+ class Registry
24
+ def initialize(moneta, name)
25
+ @name = name
26
+ @moneta = moneta
27
+ end
28
+
29
+ def get(key)
30
+ @moneta[@name][key.to_s]
31
+ end
32
+
33
+ def set(key, value)
34
+ @moneta[@name][key.to_s] = value
35
+ end
36
+
37
+ def all
38
+ @moneta[@name].keys
39
+ end
40
+
41
+ # DCell registry behaviors
42
+ alias_method :nodes, :all
43
+ alias_method :global_keys, :all
44
+
45
+ def clear
46
+ @moneta.delete(@name)
47
+ end
48
+ end
49
+
50
+ def get_node(node_id); @node_registry.get(node_id) end
51
+ def set_node(node_id, addr); @node_registry.set(node_id, addr) end
52
+ def nodes; @node_registry.nodes end
53
+ def clear_nodes; @node_registry.clear end
54
+
55
+ def get_global(key); @global_registry.get(key) end
56
+ def set_global(key, value); @global_registry.set(key, value) end
57
+ def global_keys; @global_registry.global_keys end
58
+ def clear_globals; @global_registry.clear end
59
+ end
60
+ end
61
+ end
@@ -1,7 +1,7 @@
1
1
  require 'weakref'
2
2
 
3
3
  module DCell
4
- EPOCH = Time.new(2012, 1, 1, 0, 0, 0, "+00:00") # All things begin in 2012
4
+ EPOCH = Time.gm(2012) # All things begin in 2012
5
5
 
6
6
  class RPC < Celluloid::SyncCall
7
7
  def initialize(id, caller, method, arguments, block)
@@ -6,16 +6,13 @@ module DCell
6
6
  # Bind to the given 0MQ address (in URL form ala tcp://host:port)
7
7
  def initialize
8
8
  @addr = DCell.addr
9
- @socket = DCell.zmq_context.socket(::ZMQ::PULL)
9
+ @socket = PullSocket.new
10
10
 
11
- unless ::ZMQ::Util.resultcode_ok? @socket.setsockopt(::ZMQ::LINGER, 0)
12
- @socket.close
13
- raise "couldn't set ZMQ::LINGER: #{::ZMQ::Util.error_string}"
14
- end
15
-
16
- unless ::ZMQ::Util.resultcode_ok? @socket.bind(@addr)
11
+ begin
12
+ @socket.bind(@addr)
13
+ rescue IOError
17
14
  @socket.close
18
- raise "couldn't bind to #{@addr}: #{::ZMQ::Util.error_string}"
15
+ raise
19
16
  end
20
17
 
21
18
  run!
@@ -23,17 +20,7 @@ module DCell
23
20
 
24
21
  # Wait for incoming 0MQ messages
25
22
  def run
26
- while true
27
- wait_readable @socket
28
- message = ''
29
-
30
- rc = @socket.recv_string message
31
- if ::ZMQ::Util.resultcode_ok? rc
32
- handle_message message
33
- else
34
- raise "error receiving ZMQ string: #{::ZMQ::Util.error_string}"
35
- end
36
- end
23
+ while true; handle_message @socket.read; end
37
24
  end
38
25
 
39
26
  # Shut down the server
@@ -1,3 +1,3 @@
1
1
  module DCell
2
- VERSION = "0.8.0"
2
+ VERSION = "0.9.0"
3
3
  end
Binary file
@@ -0,0 +1,6 @@
1
+ require 'spec_helper'
2
+
3
+ describe DCell::Registry::MonetaAdapter do
4
+ subject { DCell::Registry::MonetaAdapter.new :env => "test" }
5
+ it_behaves_like "a DCell registry"
6
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dcell
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,33 +9,33 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-24 00:00:00.000000000 Z
12
+ date: 2012-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: celluloid
16
- requirement: &70247796045460 !ruby/object:Gem::Requirement
16
+ requirement: &70186417956180 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.8.0
21
+ version: 0.9.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70247796045460
24
+ version_requirements: *70186417956180
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: celluloid-zmq
27
- requirement: &70247796044740 !ruby/object:Gem::Requirement
27
+ requirement: &70186417955420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: 0.8.0
32
+ version: 0.9.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70247796044740
35
+ version_requirements: *70186417955420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: redis
38
- requirement: &70247796043700 !ruby/object:Gem::Requirement
38
+ requirement: &70186417954800 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70247796043700
46
+ version_requirements: *70186417954800
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: redis-namespace
49
- requirement: &70247796043240 !ruby/object:Gem::Requirement
49
+ requirement: &70186417954340 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,21 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70247796043240
57
+ version_requirements: *70186417954340
58
+ - !ruby/object:Gem::Dependency
59
+ name: moneta
60
+ requirement: &70186418040120 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *70186418040120
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: rake
60
- requirement: &70247796042780 !ruby/object:Gem::Requirement
71
+ requirement: &70186418039640 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ! '>='
@@ -65,18 +76,18 @@ dependencies:
65
76
  version: '0'
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *70247796042780
79
+ version_requirements: *70186418039640
69
80
  - !ruby/object:Gem::Dependency
70
81
  name: rspec
71
- requirement: &70247796042200 !ruby/object:Gem::Requirement
82
+ requirement: &70186418039200 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
- - - ~>
85
+ - - ! '>='
75
86
  - !ruby/object:Gem::Version
76
- version: 2.7.0
87
+ version: '0'
77
88
  type: :development
78
89
  prerelease: false
79
- version_requirements: *70247796042200
90
+ version_requirements: *70186418039200
80
91
  description: DCell is an distributed object framework based on Celluloid built on
81
92
  0MQ and Zookeeper
82
93
  email:
@@ -103,12 +114,11 @@ files:
103
114
  - celluloid-zmq/Rakefile
104
115
  - celluloid-zmq/celluloid-zmq.gemspec
105
116
  - celluloid-zmq/lib/celluloid/zmq.rb
106
- - celluloid-zmq/lib/celluloid/zmq/mailbox.rb
107
117
  - celluloid-zmq/lib/celluloid/zmq/reactor.rb
118
+ - celluloid-zmq/lib/celluloid/zmq/sockets.rb
108
119
  - celluloid-zmq/lib/celluloid/zmq/version.rb
109
120
  - celluloid-zmq/lib/celluloid/zmq/waker.rb
110
121
  - celluloid-zmq/spec/celluloid/zmq/actor_spec.rb
111
- - celluloid-zmq/spec/celluloid/zmq/mailbox_spec.rb
112
122
  - celluloid-zmq/spec/spec_helper.rb
113
123
  - dcell.gemspec
114
124
  - lib/dcell.rb
@@ -119,6 +129,7 @@ files:
119
129
  - lib/dcell/mailbox_proxy.rb
120
130
  - lib/dcell/messages.rb
121
131
  - lib/dcell/node.rb
132
+ - lib/dcell/registries/moneta_adapter.rb
122
133
  - lib/dcell/registries/redis_adapter.rb
123
134
  - lib/dcell/registries/zk_adapter.rb
124
135
  - lib/dcell/responses.rb
@@ -127,11 +138,13 @@ files:
127
138
  - lib/dcell/rspec.rb
128
139
  - lib/dcell/server.rb
129
140
  - lib/dcell/version.rb
141
+ - logo.png
130
142
  - spec/dcell/actor_proxy_spec.rb
131
143
  - spec/dcell/celluloid_ext_spec.rb
132
144
  - spec/dcell/directory_spec.rb
133
145
  - spec/dcell/global_spec.rb
134
146
  - spec/dcell/node_spec.rb
147
+ - spec/dcell/registries/moneta_adapter_spec.rb
135
148
  - spec/dcell/registries/redis_adapter_spec.rb
136
149
  - spec/dcell/registries/zk_adapter_spec.rb
137
150
  - spec/spec_helper.rb
@@ -170,6 +183,7 @@ test_files:
170
183
  - spec/dcell/directory_spec.rb
171
184
  - spec/dcell/global_spec.rb
172
185
  - spec/dcell/node_spec.rb
186
+ - spec/dcell/registries/moneta_adapter_spec.rb
173
187
  - spec/dcell/registries/redis_adapter_spec.rb
174
188
  - spec/dcell/registries/zk_adapter_spec.rb
175
189
  - spec/spec_helper.rb
@@ -1,13 +0,0 @@
1
- module Celluloid
2
- module ZMQ
3
- # A Celluloid mailbox for Actors that wait on 0MQ sockets
4
- class Mailbox < Celluloid::IO::Mailbox
5
- def initialize
6
- # More APIs and less monkeypatching would be useful here
7
- @messages = []
8
- @lock = Mutex.new
9
- @reactor = Reactor.new
10
- end
11
- end
12
- end
13
- end
@@ -1,6 +0,0 @@
1
- require 'spec_helper'
2
- require 'celluloid/rspec'
3
-
4
- describe Celluloid::ZMQ::Mailbox do
5
- it_behaves_like "a Celluloid Mailbox"
6
- end