Class: Airplay::Connection::Persistent
- Inherits:
-
Object
- Object
- Airplay::Connection::Persistent
- Defined in:
- lib/airplay/connection/persistent.rb
Overview
Public: Class that wraps a persistent connection to point to the airplay
server and other configuration
Instance Attribute Summary collapse
-
#mac_address ⇒ Object
readonly
Returns the value of attribute mac_address.
-
#session ⇒ Object
readonly
Returns the value of attribute session.
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(address, options = {}) ⇒ Persistent
constructor
A new instance of Persistent.
-
#request(request) ⇒ Object
Public: send a request to the active server.
- #socket ⇒ Object
Constructor Details
#initialize(address, options = {}) ⇒ Persistent
Returns a new instance of Persistent.
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/airplay/connection/persistent.rb', line 14 def initialize(address, = {}) @logger = Airplay::Logger.new("airplay::connection::persistent") @socket = Net::PTTH.new(address, ) @socket.set_debug_output = @logger @session = SecureRandom.uuid @mac_address = "0x#{SecureRandom.hex(6)}" @socket.socket end |
Instance Attribute Details
#mac_address ⇒ Object (readonly)
Returns the value of attribute mac_address.
12 13 14 |
# File 'lib/airplay/connection/persistent.rb', line 12 def mac_address @mac_address end |
#session ⇒ Object (readonly)
Returns the value of attribute session.
12 13 14 |
# File 'lib/airplay/connection/persistent.rb', line 12 def session @session end |
Instance Method Details
#close ⇒ Object
25 26 27 |
# File 'lib/airplay/connection/persistent.rb', line 25 def close socket.close end |
#request(request) ⇒ Object
Public: send a request to the active server
request - The Net::HTTP request to be executed
&block - An optional block to be executed within the block
38 39 40 |
# File 'lib/airplay/connection/persistent.rb', line 38 def request(request) @socket.request(request) end |
#socket ⇒ Object
29 30 31 |
# File 'lib/airplay/connection/persistent.rb', line 29 def socket @socket.socket end |