Class: Moped::Connection::TCPSocket Private
- Defined in:
- lib/moped/connection.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
This is a wrapper around a tcp socket.
Instance Attribute Summary collapse
- #host ⇒ Object readonly private
- #port ⇒ Object readonly private
Class Method Summary collapse
-
.connect(host, port, timeout) ⇒ TCPSocket
private
Connect to the tcp server.
Instance Method Summary collapse
-
#alive? ⇒ true, false
private
Is the socket connection alive?.
-
#initialize(host, port, *args) ⇒ TCPSocket
constructor
private
Initialize the new TCPSocket.
-
#read(length) ⇒ Object
private
Read from the TCP socket.
-
#write(*args) ⇒ Integer
private
Write to the socket.
Constructor Details
#initialize(host, port, *args) ⇒ TCPSocket
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Initialize the new TCPSocket.
201 202 203 204 |
# File 'lib/moped/connection.rb', line 201 def initialize(host, port, *args) @host, @port = host, port handle_socket_errors { super } end |
Instance Attribute Details
#host ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
174 175 176 |
# File 'lib/moped/connection.rb', line 174 def host @host end |
#port ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
174 175 176 |
# File 'lib/moped/connection.rb', line 174 def port @port end |
Class Method Details
.connect(host, port, timeout) ⇒ TCPSocket
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Connect to the tcp server.
258 259 260 261 262 263 264 265 |
# File 'lib/moped/connection.rb', line 258 def connect(host, port, timeout) Timeout::timeout(timeout) do sock = new(host, port) sock.set_encoding('binary') sock.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) sock end end |
Instance Method Details
#alive? ⇒ true, false
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Is the socket connection alive?
184 185 186 187 188 189 190 |
# File 'lib/moped/connection.rb', line 184 def alive? if Kernel::select([ self ], nil, nil, 0) !eof? rescue false else true end end |
#read(length) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Read from the TCP socket.
213 214 215 |
# File 'lib/moped/connection.rb', line 213 def read(length) handle_socket_errors { super } end |
#write(*args) ⇒ Integer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Write to the socket.
227 228 229 230 |
# File 'lib/moped/connection.rb', line 227 def write(*args) raise Errors::ConnectionFailure, "Socket connection was closed by remote host" unless alive? handle_socket_errors { super } end |