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 Method Summary collapse

Methods inherited from BasicSocket

#type

Methods included from Peer

#connected?

Methods inherited from Generic

#connected?, #nonblock, #nonblock?, #read, #wait, wrap, wrap_blocking_method, wraps, #write

Constructor Details

#initialize(family) ⇒ UDPSocket

Returns a new instance of UDPSocket.



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

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.



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

wrap_blocking_method :recvfrom, :recvfrom_nonblock