Sha256: 1cf789d1aa2cd89090d6c93836cf9fd0d8c78e40d99d02a552cccd54c1f8b122
Contents?: true
Size: 864 Bytes
Versions: 3
Compression:
Stored size: 864 Bytes
Contents
require "yaml" module Lignite class Connection # An adapter that delegates to another connection # and records the communication class Tap < Connection include Bytes def initialize(conn, filename) raise "File #{filename} exists, will not overwrite" if File.exist?(filename) @conn = conn @filename = filename @packets = [] end # @param payload [ByteString] def send(payload) r = @conn.send(payload) @packets << { "SEND" => bin_to_hex(payload) } r end # @return [ByteString] a complete message def receive s = @conn.receive @packets << { "RECV" => bin_to_hex(s) } s end def close y = YAML.dump(@packets) File.write(@filename, y) super @conn.close end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lignite-0.6.0 | lib/lignite/connection/tap.rb |
lignite-0.5.0 | lib/lignite/connection/tap.rb |
lignite-0.4.0 | lib/lignite/connection/tap.rb |