Sha256: 218cf2fcbd1957a97b65746373231f37c2ecf5139884c95c9e79b662c6bd0e73
Contents?: true
Size: 1.82 KB
Versions: 2
Compression:
Stored size: 1.82 KB
Contents
# frozen_string_literal: true # This file is part of PacketGen # See https://github.com/lemontree55/packetgen for more informations # Copyright (C) 2016 Sylvain Daubert <sylvain.daubert@laposte.net> # Copyright (C) 2024 LemonTree55 <lenontree@proton.me> # This program is published under MIT license. module PacketGen module PcapNG # {UnknownBlock} is used to handle unsupported blocks of a pcapng file. # @author Sylvain Daubert class UnknownBlock < Block # Minimum Iblock size MIN_SIZE = 12 # @return [:little, :big] attr_accessor :endian # @return [SHB] attr_accessor :section # @!attribute body # @return [Types::String] define_field_before :block_len2, :body, Types::String # @option options [:little, :big] :endian set block endianness # @option options [Integer] :type # @option options [Integer] :block_len block total length # @option options [::String] :body # @option options [Integer] :block_len2 block total length def initialize(options={}) super endianness(options[:endian] || :little) recalc_block_len end # Has this block options? # @return [false] # @since 2.7.0 def options? false end # Reads a String or a IO to populate the object # @param [::String,IO] str_or_io # @return [self] def read(str_or_io) io = to_io(str_or_io) return self if io.eof? self[:type].read io.read(4) self[:block_len].read io.read(4) self[:body].read io.read(self[:block_len].to_i - MIN_SIZE) read_blocklen2_and_check(io) self end # Return the object as a String # @return [String] def to_s pad_field :body recalc_block_len super end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
packetgen-3.3.3 | lib/packetgen/pcapng/unknown_block.rb |
packetgen-3.3.2 | lib/packetgen/pcapng/unknown_block.rb |