Sha256: a8ea15eb89c95013b742432972f50b29febd1e396d724a9cb665ba675bad4651

Contents?: true

Size: 663 Bytes

Versions: 5

Compression:

Stored size: 663 Bytes

Contents

require_relative 'packet'
require_relative 'received'
require_relative 'sent'

class PacketViaDMEM
  class Packets
    include Enumerable
    class InvalidType < Error; end

    def initialize log
      @log    = log
      @packets = []
    end

    def add packet, type
      packet = case type
      when :received then Received.new packet, @log
      when :sent     then Sent.new packet, @log
      else raise InvalidType, "#{type} not valid packet type"
      end
      @packets << packet
    rescue Packet::NoPayload
    end

    def each &block
      @packets.each { |packet| block.call packet }
    end

    def size
      @packets.size
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
packet_via_dmem-0.0.18 lib/packet_via_dmem/packets.rb
packet_via_dmem-0.0.17 lib/packet_via_dmem/packets.rb
packet_via_dmem-0.0.16 lib/packet_via_dmem/packets.rb
packet_via_dmem-0.0.15 lib/packet_via_dmem/packets.rb
packet_via_dmem-0.0.14 lib/packet_via_dmem/packets.rb