Class: Eddn::Client
- Inherits:
-
Object
- Object
- Eddn::Client
- Defined in:
- lib/eddn/client.rb,
lib/eddn/client/version.rb
Constant Summary collapse
- VERSION =
"0.1.0"
Instance Method Summary collapse
- #connect ⇒ Object
-
#initialize(url = "tcp://eddn-relay.elite-markets.net:9500", opts = {}) ⇒ Client
constructor
A new instance of Client.
- #poll ⇒ Object
- #poll_blocking ⇒ Object
Constructor Details
#initialize(url = "tcp://eddn-relay.elite-markets.net:9500", opts = {}) ⇒ Client
Returns a new instance of Client.
8 9 10 11 |
# File 'lib/eddn/client.rb', line 8 def initialize url="tcp://eddn-relay.elite-markets.net:9500", opts={} @url = url @opts = opts end |
Instance Method Details
#connect ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/eddn/client.rb', line 12 def connect @subscriber = context.socket ZMQ::SUB @subscriber.connect(@url) @subscriber.setsockopt(ZMQ::SUBSCRIBE, "") @poller = ZMQ::Poller.new @poller.register(@subscriber, ZMQ::POLLIN) end |
#poll ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/eddn/client.rb', line 26 def poll p = @poller.poll if p @subscriber.recv_string(msec ='') inflate = Zlib::Inflate.new return JSON.parse(Zlib::Inflate.inflate(msec)) else return nil end end |
#poll_blocking ⇒ Object
22 23 24 25 |
# File 'lib/eddn/client.rb', line 22 def poll_blocking while (data = poll).nil?; sleep 0.001; end return data end |