Method: Socketry::UDP::Socket#initialize
- Defined in:
- lib/socketry/udp/socket.rb
#initialize(addr_family: :ipv4, read_timeout: Socketry::Timeout::DEFAULT_TIMEOUTS[:read], write_timeout: Socketry::Timeout::DEFAULT_TIMEOUTS[:write], timer: Socketry::Timeout::DEFAULT_TIMER.new, resolver: Socketry::Resolver::DEFAULT_RESOLVER, socket_class: ::UDPSocket) ⇒ Socketry::UDP::Socket
Create a new UDP socket
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/socketry/udp/socket.rb', line 60 def initialize( addr_family: :ipv4, read_timeout: Socketry::Timeout::DEFAULT_TIMEOUTS[:read], write_timeout: Socketry::Timeout::DEFAULT_TIMEOUTS[:write], timer: Socketry::Timeout::DEFAULT_TIMER.new, resolver: Socketry::Resolver::DEFAULT_RESOLVER, socket_class: ::UDPSocket ) @addr_family = case addr_family when :ipv4 then ::Socket::AF_INET when :ipv6 then ::Socket::AF_INET6 when ::Socket::AF_INET, ::Socket::AF_INET6 then addr_family else raise ArgumentError, "invalid address family: #{addr_family.inspect}" end @socket = socket_class.new(@addr_family) @read_timeout = read_timeout @write_timeout = write_timeout @resolver = resolver start_timer(timer) end |