Class: Pushr::Daemon::Apns2

Inherits:
Object
  • Object
show all
Defined in:
lib/pushr/daemon/apns2.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Apns2

Returns a new instance of Apns2.



6
7
8
9
# File 'lib/pushr/daemon/apns2.rb', line 6

def initialize(options)
  @configuration = options
  @handlers = []
end

Instance Attribute Details

#configurationObject

Returns the value of attribute configuration.



4
5
6
# File 'lib/pushr/daemon/apns2.rb', line 4

def configuration
  @configuration
end

#handlersObject

Returns the value of attribute handlers.



4
5
6
# File 'lib/pushr/daemon/apns2.rb', line 4

def handlers
  @handlers
end

Instance Method Details

#startObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/pushr/daemon/apns2.rb', line 11

def start
  configuration.connections.times do |i|
    connection = Apns2Support::Connection.new(configuration, i + 1)
    connection.connect
    # connection.on(:error) do |exception|
    #   puts "Exception has been raised: #{exception}"
    #   connection.connect
    # end

    handler = MessageHandler.new("pushr:#{configuration.key}", connection, configuration.app, i + 1)
    handler.start
    @handlers << handler
  end
end

#stopObject



26
27
28
29
# File 'lib/pushr/daemon/apns2.rb', line 26

def stop
  @handlers.map(&:stop)
  @handlers.map { |handler| Thread.new { handler.connection.close } }
end