Class: Nl::Linux::Tc::Structs::TcDualpi2Xstats
- Inherits:
-
Struct
- Object
- Struct
- Nl::Linux::Tc::Structs::TcDualpi2Xstats
- Defined in:
- nl-linux/generated/nl/linux/tc.rb,
nl-linux/generated/nl/linux/tc.rb
Instance Attribute Summary collapse
-
#credit ⇒ Integer
Current credit value for WRR.
-
#delay_c ⇒ Integer
Current C-queue delay in microseconds.
-
#delay_l ⇒ Integer
Current L-queue delay in microseconds.
-
#ecn_mark ⇒ Integer
All packets marked with ECN.
-
#max_memory_used ⇒ Integer
Maximum memory used in bytes by the DualPI2.
-
#maxq ⇒ Integer
Maximum number of packets seen by the DualPI2.
-
#memory_limit ⇒ Integer
Memory limit in bytes.
-
#memory_used ⇒ Integer
Memory used in bytes by the DualPI2.
-
#pkts_in_c ⇒ Integer
Number of packets enqueued in the C-queue.
-
#pkts_in_l ⇒ Integer
Number of packets enqueued in the L-queue.
-
#prob ⇒ Integer
Current base PI probability.
-
#step_mark ⇒ Integer
Only packets marked with ECN due to L-queue step AQM.
Class Method Summary collapse
-
.decode(decoder) ⇒ self
Decodes the struct.
Instance Method Summary collapse
-
#encode(encoder) ⇒ void
Encodes the struct.
Instance Attribute Details
#credit ⇒ Integer
Current credit value for WRR
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#delay_c ⇒ Integer
Current C-queue delay in microseconds
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#delay_l ⇒ Integer
Current L-queue delay in microseconds
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#ecn_mark ⇒ Integer
All packets marked with ECN
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#max_memory_used ⇒ Integer
Maximum memory used in bytes by the DualPI2
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#maxq ⇒ Integer
Maximum number of packets seen by the DualPI2
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#memory_limit ⇒ Integer
Memory limit in bytes
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#memory_used ⇒ Integer
Memory used in bytes by the DualPI2
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#pkts_in_c ⇒ Integer
Number of packets enqueued in the C-queue
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#pkts_in_l ⇒ Integer
Number of packets enqueued in the L-queue
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#prob ⇒ Integer
Current base PI probability
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
#step_mark ⇒ Integer
Only packets marked with ECN due to L-queue step AQM
1500 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1500 MEMBERS = Ractor.make_shareable({prob: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), delay_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_c: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), pkts_in_l: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), maxq: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), ecn_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), step_mark: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), credit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil), memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), max_memory_used: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil), memory_limit: ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)}) |
Class Method Details
.decode(decoder) ⇒ self
Decodes the struct.
1506 1507 1508 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1506 def self.decode(decoder) self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) }) end |
Instance Method Details
#encode(encoder) ⇒ void
This method returns an undefined value.
Encodes the struct.
1514 1515 1516 |
# File 'nl-linux/generated/nl/linux/tc.rb', line 1514 def encode(encoder) MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) } end |