Sha256: cd5fbc56acb74a69369664b4cb6b14ccd5cfe072aba52da6f33e31d62d9e50d5

Contents?: true

Size: 693 Bytes

Versions: 4

Compression:

Stored size: 693 Bytes

Contents

module KwAPN
  class FeedbackReader < Connection
    
    attr_accessor :host, :port
    def initialize(app_id = nil)
      @host = KwAPN::Config.option(:feedback_host, app_id)
      @port = KwAPN::Config.option(:feedback_port, app_id)  || 2196
      @app_id = app_id
    end
    
    def read
      records ||= []
      begin
        @ssl = connect(@host, @port, @app_id)
        while record = @ssl.read(38)
          feedback = record.strip.unpack('NnH*')
          records << feedback[2].scan(/.{0,8}/).join(' ').strip
        end
      rescue => e
        puts "Error reading feedback channel: #{e.message}"
      ensure
        @ssl.close
      end
      return records
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
kw_apn-0.5.1 lib/feedback_reader.rb
kw_apn-0.5 lib/feedback_reader.rb
kw_apn-0.4 lib/feedback_reader.rb
kw_apn-0.4.beta.8 lib/feedback_reader.rb