class Terminalwire::Transport::Unix

def self.connect(url)

def self.connect(url)
  uri = URI(url)
  new(UNIXSocket.new(uri.path))
end

def self.listen(url)

def self.listen(url)
  uri = URI(url)
  new(UNIXServer.new(uri.path))
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