Sha256: 2c9dcc92700d544369c0e97f55e680a0c2e2ec175ae54ac92e843e8fc4a7e4bd

Contents?: true

Size: 910 Bytes

Versions: 14

Compression:

Stored size: 910 Bytes

Contents

require 'rubygems'
require 'dripdrop/node'
Thread.abort_on_exception = true

#Define our handlers
DripDrop::Node.new do
  route :pub,  :zmq_publish,   'tcp://localhost:2200', :bind
  route :sub1, :zmq_subscribe, pub.address, :connect, :topic_filter => /[13579]$/
  route :sub2, :zmq_subscribe, pub.address, :connect, :topic_filter => /[02468]$/
  route :sub3, :zmq_subscribe, pub.address, :connect
    
  sub1.on_recv do |message|
    puts "Receiver 1 #{message.inspect}"
  end

  sub2.on_recv do |message|
    puts "Receiver 2 #{message.inspect}"
  end

  sub3.on_recv do |message|
    puts "Receiver 3 #{message.inspect}"
  end
  
  zm_reactor.periodical_timer(500) do
    puts "Sending!"
    #Sending a hash as a message implicitly transforms it into a DripDrop::Message
    pub.send_message(:name => Time.now.to_i.to_s, :body => 'Test Payload')
  end
end.start! #Start the reactor and block until complete

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
dripdrop-0.10.0 example/pubsub.rb
dripdrop-0.10.0-java example/pubsub.rb
dripdrop-0.10.0.beta2 example/pubsub.rb
dripdrop-0.10.0.beta1 example/pubsub.rb
dripdrop-0.9.10 example/pubsub.rb
dripdrop-0.9.9 example/pubsub.rb
dripdrop-0.9.8 example/pubsub.rb
dripdrop-0.9.6 example/pubsub.rb
dripdrop-0.9.5 example/pubsub.rb
dripdrop-0.9.4 example/pubsub.rb
dripdrop-0.9.3 example/pubsub.rb
dripdrop-0.9.2 example/pubsub.rb
dripdrop-0.8.1 example/pubsub.rb
dripdrop-0.8.0 example/pubsub.rb