Class: PacketGen::Header::TCP::SACK

Inherits:
Option show all
Defined in:
lib/packetgen/header/tcp/option.rb

Overview

Selective Acknowledgment TCP option

Constant Summary

Constants inherited from Option

Option::ECHOREPLY_KIND, Option::ECHO_KIND, Option::EOL_KIND, Option::MSS_KIND, Option::NOP_KIND, Option::SACKOK_KIND, Option::SACK_KIND, Option::TS_KIND, Option::WS_KIND

Instance Attribute Summary

Attributes inherited from Option

#kind, #length, #value

Attributes inherited from Base

#packet

Instance Method Summary collapse

Methods inherited from Option

#has_length?, #inspect, #length?, #read, #to_human, #to_s

Methods inherited from Base

#added_to_packet, bind, bind_header, calculate_and_set_length, #header_id, inherited, #ip_header, known_headers, #ll_header, #method_name, #parse?, #protocol_name, protocol_name

Methods inherited from Types::Fields

#[], #[]=, #bits_on, #body=, define_bit_fields_on, define_field, define_field_after, define_field_before, delete_field, fields, #fields, #force_binary, inherited, #inspect, #is_optional?, #is_present?, #offset_of, #optional?, #optional_fields, #present?, #read, remove_bit_fields_on, remove_field, #sz, #to_h, #to_s, update_field

Constructor Details

#initialize(options = {}) ⇒ SACK

Returns a new instance of SACK.

See Also:



196
197
198
199
# File 'lib/packetgen/header/tcp/option.rb', line 196

def initialize(options={})
  super options.merge!(kind: SACK_KIND)
  self[:length].read(2) if self[:value].to_s == ''
end