Sha256: 6c3d181e40115353cb98c3f70953129a9da8a4b7adaff6393c6084ae5c24b297

Contents?: true

Size: 651 Bytes

Versions: 1

Compression:

Stored size: 651 Bytes

Contents

module Hope 
  class Source::Sub < Hope::Source::Base
    
    
    attr_reader :received
    
    def initialize name, opts={}
      @name = name
      @socket = opts["socket"] || "ipc://hope"
      @event_type = opts["event_type"]
      @received = { :success => 0, :errors => 0, :latest_error => "" }
      @sub = Hope.ctx.connect ZMQ::SUB, @socket, self
      @sub.subscribe name
      Hope::Source.register self
    end
    
    def on_readable(socket, messages)
      @received[:success] += 1
      src, evt = messages.map &:copy_out_string
      Hope.pub.send_msg src, { "data" => evt, "type" => @event_type }.to_json
    end
        
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hope-0.1.0-java lib/hope/source/sub.rb