class Terminalwire::Adapter::Socket

Works with TCP, Unix, WebSocket, and other socket-like abstractions.

def close

def close
  @transport.close
end

def initialize(transport)

def initialize(transport)
  @transport = transport
end

def read

def read
  logger.debug "Adapter: Reading"
  packed_data = @transport.read
  return nil if packed_data.nil?
  data = MessagePack.unpack(packed_data, symbolize_keys: true)
  logger.debug "Adapter: Received #{data.inspect}"
  data
end

def write(data)

def write(data)
  logger.debug "Adapter: Sending #{data.inspect}"
  packed_data = MessagePack.pack(data, symbolize_keys: true)
  @transport.write(packed_data)
end