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 inherited from Generic

#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