Class: Mu::Scenario::Pcap::Fields
- Inherits:
-
Object
- Object
- Mu::Scenario::Pcap::Fields
- Defined in:
- lib/mu/scenario/pcap/fields.rb
Constant Summary collapse
- FIELDS =
[ :rtp, :"rtp.setup-frame" ].freeze
- FIELD_COUNT =
FIELDS.length
- SEPARATOR =
"\xff".freeze
- TSHARK_OPTS =
"-Eseparator='#{SEPARATOR}'"
Class Method Summary collapse
Class Method Details
.next_from_io(io) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/mu/scenario/pcap/fields.rb', line 32 def self.next_from_io io if line = readline(io) fields = line.split SEPARATOR, FIELD_COUNT hash = {} FIELDS.each do |key| val = fields.shift hash[key] = val.empty? ? nil : val end return hash end rescue Exception => e Pcap.warning e. return nil end |
.readline(io) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/mu/scenario/pcap/fields.rb', line 24 def self.readline io if ::IO.select [ io ], nil, nil, Pcap::TSHARK_READ_TIMEOUT return io.readline.chomp end raise Errno::ETIMEDOUT, "read timed out" end |