buildUdtDualStackMatrix function

List<UdtDualStackMatrixRow> buildUdtDualStackMatrix()

Generates deterministic dual-stack planning matrix without network access.

Implementation

List<UdtDualStackMatrixRow> buildUdtDualStackMatrix() {
  const platforms = <String>['linux', 'macos', 'windows'];
  const modes = <UdtIpMode>[
    UdtIpMode.ipv4Only,
    UdtIpMode.ipv6Only,
    UdtIpMode.dualStack,
  ];

  final rows = <UdtDualStackMatrixRow>[];
  for (final platform in platforms) {
    for (final mode in modes) {
      rows.add(
        UdtDualStackMatrixRow(
          platform: platform,
          mode: mode,
          expectedBindFamilies: switch (mode) {
            UdtIpMode.ipv4Only => {InternetAddressType.IPv4},
            UdtIpMode.ipv6Only => {InternetAddressType.IPv6},
            UdtIpMode.dualStack => {
                InternetAddressType.IPv4,
                InternetAddressType.IPv6,
              },
          },
          notes: mode == UdtIpMode.dualStack && platform == 'windows'
              ? 'Validate dual-stack defaults per Windows version.'
              : 'Deterministic planning baseline.',
        ),
      );
    }
  }

  return rows;
}