Class: Async::IO::SocketEndpoint
- Defined in:
- lib/async/io/socket_endpoint.rb
Overview
This class doesn’t exert ownership over the specified socket, wraps a native ::IO.
Instance Attribute Summary collapse
-
#socket ⇒ Object
readonly
Returns the value of attribute socket.
Attributes inherited from Endpoint
Instance Method Summary collapse
- #bind(&block) ⇒ Object
- #connect(&block) ⇒ Object
-
#initialize(socket, **options) ⇒ SocketEndpoint
constructor
A new instance of SocketEndpoint.
- #to_s ⇒ Object
Methods inherited from Endpoint
#accept, each, #each, #hostname, parse, #reuse_port, socket, ssl, tcp, #timeout, try_convert, udp, unix
Constructor Details
#initialize(socket, **options) ⇒ SocketEndpoint
Returns a new instance of SocketEndpoint.
27 28 29 30 31 32 |
# File 'lib/async/io/socket_endpoint.rb', line 27 def initialize(socket, **) super(**) # This socket should already be in the required state. @socket = Async::IO.try_convert(socket) end |
Instance Attribute Details
#socket ⇒ Object (readonly)
Returns the value of attribute socket.
38 39 40 |
# File 'lib/async/io/socket_endpoint.rb', line 38 def socket @socket end |
Instance Method Details
#bind(&block) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/async/io/socket_endpoint.rb', line 40 def bind(&block) if block_given? begin yield @socket ensure @socket.reactor = nil end else return @socket end end |
#connect(&block) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/async/io/socket_endpoint.rb', line 52 def connect(&block) if block_given? begin yield @socket ensure @socket.reactor = nil end else return @socket end end |
#to_s ⇒ Object
34 35 36 |
# File 'lib/async/io/socket_endpoint.rb', line 34 def to_s "\#<#{self.class} #{@socket.inspect}>" end |