module Kontena::Websocket::Client::Connection::Waitable

ruby version >= 2.3

Public Instance Methods

wait_socket_readable!(socket, timeout = nil) click to toggle source

@param socket [Socket] @param timeout [Float] default (nil) blocks indefinitely @raise [Kontena::Websocket::TimeoutError]

# 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) click to toggle source

@param socket [Socket] @param timeout [Float] default (nil) blocks indefinitely @raise [Kontena::Websocket::TimeoutError]

# 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