class Apns::Persistent::Connection
Public Class Methods
new(uri, certificate, passphrase)
click to toggle source
# File lib/apns/persistent/connection.rb, line 12 def initialize(uri, certificate, passphrase) @uri = URI(uri) @certificate = certificate @passphrase = passphrase end
Public Instance Methods
close()
click to toggle source
# File lib/apns/persistent/connection.rb, line 28 def close @ssl.close @socket.close @ssl = nil @socket = nil end
closed?()
click to toggle source
# File lib/apns/persistent/connection.rb, line 44 def closed? !opened? end
open()
click to toggle source
# File lib/apns/persistent/connection.rb, line 18 def open @socket = TCPSocket.new(@uri.host, @uri.port) context = OpenSSL::SSL::SSLContext.new context.key = OpenSSL::PKey::RSA.new(@certificate, @passphrase) context.cert = OpenSSL::X509::Certificate.new(@certificate) @ssl = OpenSSL::SSL::SSLSocket.new(@socket, context) @ssl.sync @ssl.connect end
opened?()
click to toggle source
# File lib/apns/persistent/connection.rb, line 40 def opened? !(@ssl.nil? || @socket.nil?) end
readable?()
click to toggle source
# File lib/apns/persistent/connection.rb, line 48 def readable? r, w = IO.select([@ssl], [], [@ssl], 1) (r && r[0]) end
reopen()
click to toggle source
# File lib/apns/persistent/connection.rb, line 35 def reopen close open end