decode static method

Implementation

static XdrConfigSettingEntry decode(XdrDataInputStream stream) {
  XdrConfigSettingEntry decoded =
      XdrConfigSettingEntry(XdrConfigSettingID.decode(stream));
  switch (decoded.configSettingID) {
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_MAX_SIZE_BYTES:
      decoded.contractMaxSizeBytes = XdrUint32.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_COMPUTE_V0:
      decoded.contractCompute =
          XdrConfigSettingContractComputeV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_LEDGER_COST_V0:
      decoded.contractLedgerCost =
          XdrConfigSettingContractLedgerCostV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_HISTORICAL_DATA_V0:
      decoded.contractHistoricalData =
          XdrConfigSettingContractHistoricalDataV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_EVENTS_V0:
      decoded.contractEvents =
          XdrConfigSettingContractEventsV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_BANDWIDTH_V0:
      decoded.contractBandwidth =
          XdrConfigSettingContractBandwidthV0.decode(stream);
      break;
    case XdrConfigSettingID
          .CONFIG_SETTING_CONTRACT_COST_PARAMS_CPU_INSTRUCTIONS:
      decoded.contractCostParamsCpuInsns =
          XdrContractCostParams.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_COST_PARAMS_MEMORY_BYTES:
      decoded.contractCostParamsMemBytes =
          XdrContractCostParams.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_DATA_KEY_SIZE_BYTES:
      decoded.contractDataKeySizeBytes = XdrUint32.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_DATA_ENTRY_SIZE_BYTES:
      decoded.contractDataEntrySizeBytes = XdrUint32.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_STATE_ARCHIVAL:
      decoded.stateArchivalSettings = XdrStateArchivalSettings.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_EXECUTION_LANES:
      decoded.contractExecutionLanes =
          XdrConfigSettingContractExecutionLanesV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_BUCKETLIST_SIZE_WINDOW:
      int pSize = stream.readInt();
      List<XdrUint64> bucketListSizeWindow =
          List<XdrUint64>.empty(growable: true);
      for (int i = 0; i < pSize; i++) {
        bucketListSizeWindow.add(XdrUint64.decode(stream));
      }
      decoded.bucketListSizeWindow = bucketListSizeWindow;
      break;
    case XdrConfigSettingID.CONFIG_SETTING_EVICTION_ITERATOR:
      decoded.evictionIterator = XdrEvictionIterator.decode(stream);
      break;
  }
  return decoded;
}