lib/netsoul/client.rb in netsoul-2.3.8 vs lib/netsoul/client.rb in netsoul-2.4.1
- old
+ new
@@ -3,11 +3,10 @@
require_relative '../netsoul'
require 'socket'
module Netsoul
class Client
- include Logging
attr_reader :started
SOCKET_READ_TIMEOUT = 12 * 60
SOCKET_WRITE_TIMEOUT = 1 * 60
def initialize(*args)
@@ -53,39 +52,37 @@
@started = true
end
def disconnect
send(Message.ns_exit)
- ensure
close
+ ensure
+ @started = false
end
def send(str)
_, sock = IO.select(nil, [@socket], nil, SOCKET_WRITE_TIMEOUT)
- raise Netsoul::SocketError, 'Timeout or raise on write socket'.freeze if sock.nil? || sock.empty?
s = sock.first
- if s
- s.puts str
- s.flush
- end
- log :info, "[send] #{str.chomp}"
+ raise Netsoul::SocketError, 'Timeout or raise on write socket'.freeze unless s
+ s.puts str
+ s.flush
end
def get
sock, = IO.select([@socket], nil, nil, SOCKET_READ_TIMEOUT)
- raise Netsoul::SocketError, 'Timeout or raise on read socket'.freeze if sock.nil? || sock.empty?
- res = sock.first.gets
- if res
- log :info, "[get ] #{res.chomp}"
+ s = sock.first
+ raise Netsoul::SocketError, 'Timeout or raise on read socket'.freeze unless s
+ res = s.gets.chomp
+ if !res.empty?
res
else
'nothing'.freeze # Send some string and permit IO.select to thrown exception if something goes wrong.
end
end
+ private
+
def close
@socket.close if @socket
- ensure
- @started = false
end
end
end