Class: Airplay::Connection::Persistent

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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, options = {})
  @logger = Airplay::Logger.new("airplay::connection::persistent")
  @socket = Net::PTTH.new(address, options)
  @socket.set_debug_output = @logger

  @session = SecureRandom.uuid
  @mac_address = "0x#{SecureRandom.hex(6)}"

  @socket.socket
end

Instance Attribute Details

#mac_addressObject (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

#sessionObject (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

#closeObject



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

#socketObject



29
30
31
# File 'lib/airplay/connection/persistent.rb', line 29

def socket
  @socket.socket
end