class Socketry::UDP::Datagram

Represents a received UDP message

Attributes

message[R]
remote_addr[R]
remote_host[R]
remote_port[R]
sockaddr[R]

Public Class Methods

new(message, sockaddr) click to toggle source
# File lib/socketry/udp/datagram.rb, line 10
def initialize(message, sockaddr)
  @message  = message
  @sockaddr = sockaddr
  @remote_port = sockaddr[1]
  @remote_host = sockaddr[2]
  @remote_addr = sockaddr[3]
end

Public Instance Methods

addrinfo() click to toggle source
# File lib/socketry/udp/datagram.rb, line 18
def addrinfo
  addr_family = case @sockaddr[0]
                when "AF_INET"  then ::Socket::AF_INET
                when "AF_INET6" then ::Socket::AF_INET6
                else raise Socketry::AddressError, "unsupported IP address family: #{@sockaddr[0]}"
                end

  Addrinfo.new(@sockaddr, addr_family, ::Socket::SOCK_DGRAM)
end