class Terminalwire::Transport::TCP
def self.connect(url)
def self.connect(url) uri = URI(url) new(TCPSocket.new(uri.host, uri.port)) end
def self.listen(url)
def self.listen(url) uri = URI(url) new(TCPServer.new(uri.host, uri.port)) end
def close
def close @socket.close end
def initialize(socket)
def initialize(socket) @socket = socket end
def read
def read length = @socket.read(4) return nil if length.nil? length = length.unpack('L>')[0] @socket.read(length) end
def write(data)
def write(data) length = [data.bytesize].pack('L>') @socket.write(length + data) end