Sha256: f4c28eebf1d9f0ff817a4ced583374261cf5815940193babc631107690d832c3
Contents?: true
Size: 969 Bytes
Versions: 4
Compression:
Stored size: 969 Bytes
Contents
require 'bundler/setup' require 'celluloid_pubsub' # actor that subscribes to a channel class Subscriber include Celluloid include Celluloid::Logger def initialize CelluloidPubsub::Client.connect(actor: Actor.current) do |ws| ws.subscribe('test_channel') # this will execute after the connection is opened end end def on_message(message) puts "got #{message.inspect}" end def on_close(code, reason) puts "websocket connection closed: #{code.inspect}, #{reason.inspect}" terminate end end # actor that publishes a message in a channel class Publisher include Celluloid include Celluloid::Logger def initialize CelluloidPubsub::Client.connect(actor: Actor.current) do |ws| ws.publish('test_channel', 'data' => 'my_message') # the message needs to be a Hash end end end CelluloidPubsub::WebServer.supervise_as(:web_server) Subscriber.supervise_as(:subscriber) Publisher.supervise_as(:publisher) sleep
Version data entries
4 entries across 4 versions & 1 rubygems