Module: Kontena::Websocket::Client::Connection::Waitable

Included in:
Kontena::Websocket::Client::Connection
Defined in:
lib/kontena/websocket/client/connection.rb

Overview

ruby version >= 2.3

Instance Method Summary collapse

Instance Method Details

#wait_socket_readable!(socket, timeout = nil) ⇒ Object

Parameters:

  • socket (Socket)
  • timeout (Float) (defaults to: nil)

    default (nil) blocks indefinitely

Raises:



10
11
12
13
14
15
16
# File 'lib/kontena/websocket/client/connection.rb', line 10

def wait_socket_readable!(socket, timeout = nil)
  debug "wait read: timeout=#{timeout}"

  unless @socket.wait_readable(timeout)
    raise Kontena::Websocket::TimeoutError, "read timeout after #{timeout}s"
  end
end

#wait_socket_writable!(socket, timeout = nil) ⇒ Object

Parameters:

  • socket (Socket)
  • timeout (Float) (defaults to: nil)

    default (nil) blocks indefinitely

Raises:



21
22
23
24
25
26
27
# File 'lib/kontena/websocket/client/connection.rb', line 21

def wait_socket_writable!(socket, timeout = nil)
  debug "wait write: timeout=#{timeout}"

  unless @socket.wait_writable(timeout)
    raise Kontena::Websocket::TimeoutError, "write timeout after #{timeout}s"
  end
end