Sha256: ff02ac81e812b52a30643ae0b8a3dd37e269189099b643cc84af0b66bd000199

Contents?: true

Size: 1.03 KB

Versions: 17

Compression:

Stored size: 1.03 KB

Contents

# http://www.mudynamics.com
# http://labs.mudynamics.com
# http://www.pcapr.net

require 'mu/scenario/pcap'

module Mu
class Scenario
module Pcap

class Fields
    FIELDS = [
        :rtp,
        :"rtp.setup-frame"
    ].freeze
    FIELD_COUNT = FIELDS.length
    SEPARATOR   = "\xff".freeze
    TSHARK_OPTS = "-Eseparator='#{SEPARATOR}'" 
    FIELDS.each do |field|
        TSHARK_OPTS << " -e #{field}"
    end
    TSHARK_OPTS.freeze

    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

    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.message
        return nil
    end

end
end
end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
DIY-pcap-0.4.1 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.3.8 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.3.6 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.3.5 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.3.4 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.3.3 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.3.2 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.3.1 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.3.0 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.2.8 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.2.7 lib/diy/parser/mu/scenario/pcap/fields.rb
DIY-pcap-0.2.6 lib/diy/parser/mu/scenario/pcap/fields.rb
pcapr-local-0.2.0 lib/mu/scenario/pcap/fields.rb
pcapr-local-0.1.13 lib/mu/scenario/pcap/fields.rb
pcapr-local-0.1.12 lib/mu/scenario/pcap/fields.rb
pcapr-local-0.1.11 lib/mu/scenario/pcap/fields.rb
pcapr-local-0.1.10 lib/mu/scenario/pcap/fields.rb