Class: PacketViaDMEM::Packets

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/packet_via_dmem/packets.rb

Defined Under Namespace

Classes: InvalidType

Instance Method Summary collapse

Constructor Details

#initialize(log) ⇒ Packets

Returns a new instance of Packets.



10
11
12
13
# File 'lib/packet_via_dmem/packets.rb', line 10

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

Instance Method Details

#add(packet, type) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/packet_via_dmem/packets.rb', line 15

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

#each(&block) ⇒ Object



25
26
27
# File 'lib/packet_via_dmem/packets.rb', line 25

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

#sizeObject



29
30
31
# File 'lib/packet_via_dmem/packets.rb', line 29

def size
  @packets.size
end