Class: Async::IO::UDPSocket
- Inherits:
-
IPSocket
- Object
- Wrapper
- Generic
- BasicSocket
- IPSocket
- Async::IO::UDPSocket
- Defined in:
- lib/async/io/udp_socket.rb
Overview
Asynchronous UDP socket wrapper.
Constant Summary
Constants inherited from Generic
Instance Attribute Summary
Attributes inherited from Generic
Instance Method Summary collapse
-
#initialize(family) ⇒ UDPSocket
constructor
A new instance of UDPSocket.
-
#recvfrom ⇒ Object
This function is so fucked.
Methods included from Peer
#connected?, #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.
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
#recvfrom ⇒ Object
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 |