module ThroughputModule
{
  @final
  struct DataType_Base
  {
    unsigned long long count;
    unsigned long payloadsize;
  };

  @final
  struct DataType_16
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[16 - 12];
  };

  @final
  struct DataType_32
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[32 - 12];
  };

  @final
  struct DataType_64
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[64 - 12];
  };

  @final
  struct DataType_128
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[128 - 12];
  };

  @final
  struct DataType_256
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[256 - 12];
  };

  @final
  struct DataType_512
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[512 - 12];
  };

  @final
  struct DataType_1024
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[1024 - 12];
  };

  @final
  struct DataType_2048
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[2048 - 12];
  };

  @final
  struct DataType_4096
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[4096 - 12];
  };

  @final
  struct DataType_8192
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[8192 - 12];
  };

  @final
  struct DataType_16384
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[16384 - 12];
  };

  @final
  struct DataType_32768
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[32768 - 12];
  };

  @final
  struct DataType_65536
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[65536 - 12];
  };

  @final
  struct DataType_131072
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[131072 - 12];
  };

  @final
  struct DataType_262144
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[262144 - 12];
  };

  @final
  struct DataType_524288
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[524288 - 12];
  };

  @final
  struct DataType_1048576
  {
    unsigned long long count;
    unsigned long payloadsize;
    octet payload[1048576 - 12];
  };
};
