Skip to content

Commit

Permalink
Register notification in all processes, not just server
Browse files Browse the repository at this point in the history
  • Loading branch information
nicksieger committed Nov 1, 2010
1 parent 8376a6d commit 9adf933
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 17 deletions.
9 changes: 0 additions & 9 deletions ringpiano/lib/ringpiano.rb
Expand Up @@ -10,12 +10,3 @@ module RingPiano
end

require 'ringpiano/server'

if $0 == __FILE__
server = RingPiano::Server.new
if defined?(JRUBY_VERSION)
RingPiano::Soundboard.new(server)
RingPiano::Keyboard.new(server)
end
DRb.thread.join
end
1 change: 0 additions & 1 deletion ringpiano/lib/ringpiano/keyboard.rb
Expand Up @@ -48,7 +48,6 @@ def initialize(server = nil)

def register
@server.register(:Keyboard, DRbObject.new(self), @server.name)
LOG.info "Registered Keyboard: #{@server.name}"
end

def key_to_note(event)
Expand Down
16 changes: 10 additions & 6 deletions ringpiano/lib/ringpiano/server.rb
Expand Up @@ -48,12 +48,6 @@ def start_ring_server
ts = Rinda::TupleSpace.new
@ring_server = Rinda::RingServer.new(ts)
LOG.info "Started Ring server with primary: #{ts}"
Thread.new do
ts.notify('write', [:name, nil, nil, nil]).each do |event,tuple|
LOG.info "Registered service: #{tuple[1]} #{tuple[3]}"
end
DRb.thread.join
end
end

def ring_finger
Expand All @@ -64,6 +58,16 @@ def ring_finger
Rinda::RingFinger.finger.lookup_ring_any
Rinda::RingFinger.primary
end
Thread.new do
@ring_finger.notify(nil, [:name, nil, nil, nil]).each do |event, tuple|
if event == 'write'
LOG.info "Registered service: #{tuple[1]} #{tuple[3]}"
else
LOG.info "Unregistered service: #{tuple[1]} #{tuple[3]}"
end
end
DRb.thread.join
end
LOG.info "Using primary #{@ring_finger}"
rescue Exception => e
LOG.debug e
Expand Down
1 change: 0 additions & 1 deletion ringpiano/lib/ringpiano/soundboard.rb
Expand Up @@ -15,7 +15,6 @@ def initialize(server = nil)

def register
@server.register(:Soundboard, DRbObject.new(self), @server.name)
LOG.info "Registered Soundboard: #{@server.name}"
end

def note_on(note, volume)
Expand Down

0 comments on commit 9adf933

Please sign in to comment.