module Farcall::TransportBase

Public Instance Methods

close_connection() click to toggle source

close connection (socket or streams)

# File lib/farcall/json_transport.rb, line 68
def close_connection
  if @socket
    if !@socket.closed?
      begin
        @socket.flush
        @socket.shutdown
      rescue Errno::ENOTCONN
      end
      @socket.close
    end
    @socket = nil
  else
    @input.close
    @output.close
  end
  @input = @output = nil
end
setup_streams(input: nil, output: nil, socket: nil) click to toggle source

connect socket or use streams if any

# File lib/farcall/json_transport.rb, line 57
def setup_streams input: nil, output: nil, socket: nil
  if socket
    @socket = socket
    @input  = @output = SocketStream.new(socket)
  else
    @input, @output = input, output
  end
  @input != nil && @output != nil or raise Farcall::Error, "can't setup streams"
end