Class: Async::IO::UDPSocket

Inherits:
IPSocket show all
Defined in:
lib/async/io/udp_socket.rb

Overview

Asynchronous UDP socket wrapper.

Constant Summary

Constants inherited from Generic

Generic::WRAPPERS

Instance Attribute Summary

Attributes inherited from Generic

#timeout

Instance Method Summary collapse

Methods included from Peer

#connected?, #eof, #eof?, #protocol, #sync, #sync=, #type

Methods inherited from Generic

#<<, #connected?, #dup, #nonblock, #nonblock=, #nonblock?, #read, #sysread, #syswrite, #wait, wrap, wrap_blocking_method, wraps, #write

Constructor Details

#initialize(family) ⇒ UDPSocket

Returns a new instance of UDPSocket.



31
32
33
34
35
36
37
# File 'lib/async/io/udp_socket.rb', line 31

def initialize(family)
	if family.is_a? ::UDPSocket
		super(family)
	else
		super(::UDPSocket.new(family))
	end
end

Instance Method Details

#recvfromObject

This function is so fucked. Why does UDPSocket#recvfrom return the remote address as an array, but Socket#recfrom return it as an Addrinfo? You should prefer recvmsg. Invokes recvfrom_nonblock on the underlying io. If the operation would block, the current task is paused until the operation can succeed, at which point it's resumed and the operation is completed.



43
# File 'lib/async/io/udp_socket.rb', line 43

wrap_blocking_method :recvfrom, :recvfrom_nonblock