ValueSet
A value set: each row is an output port whose value is fixed, random, or taken from its own input port
Overview
Constructs an ordered, typed collection of values (a ValueSet) where each row defines an individual named item with its own data type (Bytes, String, Int, or Bool) and value source (Fixed constant, Random generator, or external input Port).
Every row simultaneously exposes its own individual typed output port on the right side of the node card and contributes its value (by row order) to the aggregate Set output port (dataType: set). Multiple ValueSet nodes with identical row counts and types can be wired into a Switch node to toggle between entire test vectors or key/IV/plaintext bundles with a single click.
When to Use
- Grouping related protocol parameters—such as
Key,IV,AAD, andPlaintext—into a single cohesive test-vector card. - Creating multiple test-vector bundles (e.g., Vector #1, Vector #2, Bad-Tag Vector) and feeding their
Setoutputs into a Switch node to switch all parameters at once. - Mixing fixed constants, workspace variable references (
$var), random values, and upstream computed values into one structured set.
Parameter Configuration
Instead of a static property list, ValueSet is configured through an interactive Row Table in the property inspector and directly on the node card:
| Row Field | Options / Type | Default | Description |
|---|---|---|---|
| Row Name | text |
Value 1, Value 2, … |
Display label for the row and its corresponding individual output port (and input port when Source = Port). |
| Data Type | Bytes | String | Int | Bool |
Bytes |
Primitive data type of the row. Determines the type of the row's output port and the validation rules for its value. |
| Value Source (Mode) | Fixed | Random | Port |
Fixed |
|
Port I/O Specification
See Ports & Connections for general wiring rules, data type colors, and dynamic port creation.
Input Ports
| Attribute | Specification |
|---|---|
| Port Nature | Dynamic / Variable Input Ports (Row-Driven) |
| Initial Default on Canvas | 0 input ports initially (default rows start in Fixed mode). |
| Port Count Range | 0 to N ports (one input port is created for each row whose Value Source is set to Port). |
| Allowed Data Types | Bytes, String, Int, or Bool (matches the corresponding row's Data Type). |
| Adding & Managing Ports | Switch any row's source mode to Port in the inspector to expose an input handle on the left side of the card; switching back to Fixed or Random removes that input handle. |
| Evaluation & Ordering Rule | Input ports appear in the exact top-to-bottom order of the rows configured with Source = Port. |
Output Ports
| Attribute | Specification |
|---|---|
| Port Nature | Hybrid: 1 Fixed Output Port (Set) + Dynamic Row Output Ports |
| Initial Default on Canvas | Starts with 1 default row output port (Value 1, id: out_1, type Bytes) plus the fixed Set output port (id: set, type Set). Value 1 is an initial default row, not a fixed port. |
| Port Count Range | 1 or more dynamic row output ports, plus 1 fixed Set output port. |
| Allowed Data Types | Row ports: Bytes, String, Int, or Bool. Aggregate port: Set. |
| Adding & Managing Ports | Add, remove, reorder, rename, or change the type of rows in the inspector table or via the [+] handle on the node card. |
| Evaluation & Ordering Rule | Each dynamic output port emits its own row's resolved value, while the fixed Set port emits all row values packaged in top-to-bottom row order. |
Fixed Aggregate Output Port
Port Nature: Fixed Output Ports (1 total).
| Port Name | Port ID | Data Type | Visibility Condition | Description |
|---|---|---|---|---|
Set |
set |
Set |
Always visible | Always-present fixed aggregate output port that packs all row values in top-to-bottom row order as a single Set value for connection to a Switch node. |
Error Cases
This node has no runtime failure cases (errorProfile: none) and always succeeds for any valid typed input.
Examples
Bundling AES-GCM Key, Nonce, and Plaintext into a Set
Create a 3-row ValueSet for an AES-GCM test vector.
- Configure Row 1 as
Key(Bytes,Fixed, 16-byte hex). - Configure Row 2 as
Nonce(Bytes,Random, Length12). - Configure Row 3 as
Plaintext(String,Fixed,"Hello AEAD"). - Wire the individual
Key,Nonce, andPlaintextoutput ports directly to downstream nodes, or wire theSetoutput port into a Switch node.