Class: Dalli::Socket::UNIX
- Inherits:
-
UNIXSocket
- Object
- UNIXSocket
- Dalli::Socket::UNIX
- Includes:
- InstanceMethods
- Defined in:
- lib/dalli/socket.rb,
lib/dalli/socket.rb
Overview
UNIX represents a UNIX domain socket, which is an interprocess communication mechanism between processes on the same host. Used when the Memcached server is running on the same machine as the Dalli client.
Constant Summary
Constants included from InstanceMethods
InstanceMethods::FILTERED_OUT_OPTIONS, InstanceMethods::WAIT_RCS
Instance Attribute Summary collapse
-
#options ⇒ Object
options - supports enhanced logging in the case of a timeout server - used to support IO.select in the pipelined getter.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(*_args) ⇒ UNIX
constructor
A new instance of UNIX.
Methods included from InstanceMethods
#append_to_buffer?, #logged_options, #nonblock_timed_out?, #read_available, #readfull
Constructor Details
#initialize(*_args) ⇒ UNIX
Returns a new instance of UNIX.
163 164 165 |
# File 'lib/dalli/socket.rb', line 163 def initialize(*_args) raise Dalli::DalliError, 'Unix sockets are not supported on Windows platform.' end |
Instance Attribute Details
#options ⇒ Object
options - supports enhanced logging in the case of a timeout server - used to support IO.select in the pipelined getter
179 180 181 |
# File 'lib/dalli/socket.rb', line 179 def @options end |
Class Method Details
.init_socket_options(sock, options) ⇒ Object
190 191 192 193 194 |
# File 'lib/dalli/socket.rb', line 190 def self.(sock, ) # https://man7.org/linux/man-pages/man7/unix.7.html sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_SNDBUF, [:sndbuf]) if [:sndbuf] sock.timeout = [:socket_timeout] if [:socket_timeout] && sock.respond_to?(:timeout=) end |
.open(path, options = {}) ⇒ Object
181 182 183 184 185 186 187 188 |
# File 'lib/dalli/socket.rb', line 181 def self.open(path, = {}) Timeout.timeout([:socket_timeout]) do sock = new(path) sock. = { path: path }.merge() (sock, ) sock end end |