Sha256: 1d82b7d7c4a97814ad116f93a65b1c77ec38b94aea80a9b65fd43cc7f347b3d6
Contents?: true
Size: 600 Bytes
Versions: 19
Compression:
Stored size: 600 Bytes
Contents
require 'socket' require 'timeout' class Eye::Client attr_reader :socket_path def initialize(socket_path) @socket_path = socket_path end def command(cmd, *args) attempt_command(Marshal.dump([cmd, *args])) end def attempt_command(pack) Timeout.timeout(Eye::Local.client_timeout) do return send_request(pack) end rescue Timeout::Error, EOFError :timeouted end def send_request(pack) UNIXSocket.open(@socket_path) do |socket| socket.write(pack) data = socket.read res = Marshal.load(data) rescue :corrupted_data end end end
Version data entries
19 entries across 19 versions & 3 rubygems