All Classes Namespaces Files Functions Pages
FrameSizeModifier.Growing Class Reference

A frame size modifier which will increase the size of the frame between a minimum and maximum value. More...

Methods

 Description.Get
 Returns a textual description of the object.
 
 Iteration.Get
 Method to get the current configured iteration. More...
 
 Iteration.Set iteration
 Sets the number of times the same frame size will be used. More...
 
 Maximum.Get
 Method to get the current configured maximum frame size. More...
 
 Maximum.Set maximum
 Sets the maximum size of a Frame of a growing size flow. This defines the maximum frame size of the stream. More...
 
 Minimum.Get
 Method to get the current configured minimum frame size. More...
 
 Minimum.Set minimum
 Sets the Minimum size of a Frame of a growing size flow. More...
 
 Parent.Get
 Returns the parent object.
 
 Result.Get
 Returns the accumulated counters. More...
 
 Step.Get
 Method to get the current configured step size. More...
 
 Step.Set step
 Sets the number of bytes a frame will grow in one step. More...
 

Class overview

A frame size modifier which will increase the size of the frame between a minimum and maximum value.

Since
2.3.0

ByteBlower allows different modifiers on a Frame. Some modifiers work on the size of a frame, others content. The FrameSizeModifier.GrowingSize is a modifier which modifies the size of the frame.

A FrameSizeModifier.GrowingSize will increment the frame size with a configured amount of bytes. The following parameters can be configured:

Minimum size
the minimum frame size. This size will be used when the Tx.Stream is started.
Maximum size
the maximum frame size. It this limit is reached, the modifier will return to the minimum size again.
Step size
the amount of bytes the size will increase. By default, a frame will grow with one byte but this parameter allows larger step sizes.
Iteration
this parameter defines the number of times the same frame size is iterated before increasing to the next frame size.

So, a frame with a FrameSizeModifier.GrowingSize installed, will start sending frames with a <Minimum size> size, will send this size <Iteration> times, increase the size with <Step size> bytes until the <Maximum size> is reached.

If the maximum size is reached, the next size is calculated as follows:

<next size> = <Minimum size> + ( <current size> + <Step size> - <Maximum size> )

All sizes define a frame size, excluding the 4 bytes Ethernet checksum.

The frame size modifier will change the size of the Frame. If the original frame size is longer, the size will truncated to the requested frame size. If automatic checksum calculations have been enabled on the Frame, they will be recalculated. This depends on the configuration of the Frame. See the Frame documentation on how this can be done.

If the original frame size of a Frame is too short, the Frame will be padded with zero-value bytes.

Note
It is possible that the maximum size is never reached. Depending on both the <Step size> and the Tx.Stream configuration (NumberOfFrames), the maximum size will never be used.

Definition at line 4252 of file api.tcl.

Method documentation

FrameSizeModifier.Growing::Iteration.Get

Method to get the current configured iteration.

Returns
The iteration which will be used for a growing size flow.
Example

This example shows how to retrieve the current iteration.

1 $FrameSizeModifierGrowing Iteration.Get

Returns:

1 

Definition at line 4269 of file api.tcl.

FrameSizeModifier.Growing::Iteration.Set   iteration  

Sets the number of times the same frame size will be used.

A Frame can be sent with the same frame size multiple times before the size is increased to the next value. This parameter defines the iteration count.

Parameters
iterationNumber of times the same frame size will be used before the frame size is increased to the next value.
Default: 1
Example

This example demonstrates an iteration of 10, before going to the next frame size.

1 $FrameSizeModifierGrowing Iteration.Set 10

Definition at line 4283 of file api.tcl.

FrameSizeModifier.Growing::Maximum.Get

Method to get the current configured maximum frame size.

Returns
The maximum frame size which will be used for a growing size flow.
Example

This example shows how to retrieve the current maximum frame size.

1 $FrameSizeModifierGrowing Maximum.Get

Returns:

1514 

Definition at line 4295 of file api.tcl.

FrameSizeModifier.Growing::Maximum.Set   maximum  

Sets the maximum size of a Frame of a growing size flow. This defines the maximum frame size of the stream.

Parameters
maximumMaximum byte length of the Frame. This value must be at least 61 bytes, and maximum 8192. The value must also be bigger than the <Minimum size> configured.
Default: 1514
Exceptions
tclerrorMaximum too big or too small.
Example

This example will set the maximum frame size to 128 bytes.

1 $FrameSizeModifierGrowing Maximum.Set 128

Definition at line 4309 of file api.tcl.

FrameSizeModifier.Growing::Minimum.Get

Method to get the current configured minimum frame size.

Returns
The minimum frame size which will be used for a growing size flow.
Example

This example shows how to retrieve the current minimum frame size.

1 $FrameSizeModifierGrowing Minimum.Get

Returns:

60 

Definition at line 4321 of file api.tcl.

FrameSizeModifier.Growing::Minimum.Set   minimum  

Sets the Minimum size of a Frame of a growing size flow.

This defines the minimal frame size of the stream. This frame size will be used when a Tx.Stream is started.

Parameters
minimumMinimum byte length of the Frame. This value must be at least 60 bytes, and maximum 8191. The value must also be less than the <Maximum size> configured.
Default: 60
Exceptions
tclerrorMinimum too small or too big.
Example

This example will set the minimum frame size to 128 bytes.

1 $FrameSizeModifierGrowing Minimum.Set 128

Definition at line 4337 of file api.tcl.

FrameSizeModifier.Growing::Result.Get

Returns the accumulated counters.

Returns
Returns an object obj type FrameSizeModifier.Result which contains the accumulated result counters.
Example
1 $sizeModifier Result.Get

Returns:

<FrameSizeModifier.Result object> 

Definition at line 4354 of file api.tcl.

FrameSizeModifier.Growing::Step.Get

Method to get the current configured step size.

Returns
The step size which will be used for a growing size flow.
Example

This example shows how to retrieve the current step size.

1 $FrameSizeModifierGrowing Step.Get

Returns:

1 

Definition at line 4366 of file api.tcl.

FrameSizeModifier.Growing::Step.Set   step  

Sets the number of bytes a frame will grow in one step.

Each time the modifier needs to adapt the size of the frame, the size will be incremented with <Step size> bytes.

Parameters
stepThis parameter defines the amount of bytes the frame will grow.
Default: 1
Exceptions
tclerrorAn error is returned when the value is less than 1.
Example

This example demonstrates a step size of 10 bytes:

1 $FrameSizeModifierGrowing Step.Set 10

Definition at line 4382 of file api.tcl.