Class: BroadcastClient
- Inherits:
-
Object
- Object
- BroadcastClient
- Defined in:
- lib/ignition/engine/broadcast_client.rb
Constant Summary collapse
- MULTICAST_ADDR =
"224.6.8.11"
Instance Method Summary collapse
- #add_message_listener(listener) ⇒ Object
-
#initialize(handle, bind_address, bind_port) ⇒ BroadcastClient
constructor
BIND_ADDR = “0.0.0.0” PORT = 6811.
- #stop! ⇒ Object
- #transmit(content) ⇒ Object
Constructor Details
#initialize(handle, bind_address, bind_port) ⇒ BroadcastClient
BIND_ADDR = “0.0.0.0” PORT = 6811
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/ignition/engine/broadcast_client.rb', line 11 def initialize(handle,bind_address,bind_port) @handle = handle @client_id = SecureRandom.hex(5) @listeners = [] @bind_addr = bind_address @port = bind_port @stopped = false end |
Instance Method Details
#add_message_listener(listener) ⇒ Object
22 23 24 25 26 |
# File 'lib/ignition/engine/broadcast_client.rb', line 22 def (listener) listen unless listening? @listeners << listener # puts "add_message_listener 1" end |
#stop! ⇒ Object
39 40 41 42 |
# File 'lib/ignition/engine/broadcast_client.rb', line 39 def stop! # puts "Stopping BroadcastClient" @stopped = true end |
#transmit(content) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ignition/engine/broadcast_client.rb', line 28 def transmit(content) = BroadcastMessage.new( "client_id" => @client_id, "handle" => @handle, "content" => content ) socket.send(.to_json, 0, MULTICAST_ADDR, @port) end |