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