Sha256: 7b634ebbb52468498b7429c1f6071d86321aa32252389d464a18376683a0b7d7

Contents?: true

Size: 677 Bytes

Versions: 6

Compression:

Stored size: 677 Bytes

Contents

require 'msgpack'

module Terminalwire
  class Adapter
    include Logging

    attr_reader :transport

    def initialize(transport)
      @transport = transport
    end

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

    def recv
      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 close
      @transport.close
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
terminalwire-0.1.7 lib/terminalwire/adapter.rb
terminalwire-0.1.6 lib/terminalwire/adapter.rb
terminalwire-0.1.5 lib/terminalwire/adapter.rb
terminalwire-0.1.4 lib/terminalwire/adapter.rb
terminalwire-0.1.3 lib/terminalwire/adapter.rb
terminalwire-0.1.2 lib/terminalwire/adapter.rb