lib/rupnp/ssdp/multicast_connection.rb in rupnp-0.2.1 vs lib/rupnp/ssdp/multicast_connection.rb in rupnp-0.2.2

- old
+ new

@@ -1,48 +1,51 @@ require 'socket' require 'ipaddr' module RUPNP + module SSDP - # Base class for multicast connections (mainly SSDP search and listen) - # @abstract - class SSDP::MulticastConnection < EM::Connection - include LogMixin + # Base class for multicast connections (mainly SSDP search and listen) + # @abstract + class MulticastConnection < EM::Connection + include LogMixin - # @param [Integer] ttl - def initialize(ttl=nil) - @ttl = ttl || DEFAULT_TTL - setup_multicast_socket - end + # @param [Integer] ttl + def initialize(ttl=nil) + @ttl = ttl || DEFAULT_TTL + setup_multicast_socket + end - # Get peer info - # @return [Array] [port, hostname] - def peer_info - Socket.unpack_sockaddr_in(get_peername) - end + # Get peer info + # @return [Array] [port, hostname] + def peer_info + Socket.unpack_sockaddr_in(get_peername) + end - private + private - def setup_multicast_socket - set_membership IPAddr.new(MULTICAST_IP).hton + IPAddr.new('0.0.0.0').hton - set_ttl - set_reuse_addr - end + def setup_multicast_socket + set_membership(IPAddr.new(MULTICAST_IP).hton + + IPAddr.new('0.0.0.0').hton) + set_ttl + set_reuse_addr + end - def set_membership(value) - set_sock_opt Socket::IPPROTO_IP, Socket::IP_ADD_MEMBERSHIP, value - end + def set_membership(value) + set_sock_opt Socket::IPPROTO_IP, Socket::IP_ADD_MEMBERSHIP, value + end - def set_ttl - value = [@ttl].pack('i') - set_sock_opt Socket::IPPROTO_IP, Socket::IP_MULTICAST_TTL, value - set_sock_opt Socket::IPPROTO_IP, Socket::IP_TTL, value - end + def set_ttl + value = [@ttl].pack('i') + set_sock_opt Socket::IPPROTO_IP, Socket::IP_MULTICAST_TTL, value + set_sock_opt Socket::IPPROTO_IP, Socket::IP_TTL, value + end - def set_reuse_addr - set_sock_opt Socket::SOL_SOCKET, Socket::SO_REUSEADDR, true + def set_reuse_addr + set_sock_opt Socket::SOL_SOCKET, Socket::SO_REUSEADDR, true + end + end end - end