aboutsummaryrefslogtreecommitdiff
path: root/fcp/aggregation/protocol/checkpoint_aggregator.h
diff options
context:
space:
mode:
Diffstat (limited to 'fcp/aggregation/protocol/checkpoint_aggregator.h')
-rw-r--r--fcp/aggregation/protocol/checkpoint_aggregator.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/fcp/aggregation/protocol/checkpoint_aggregator.h b/fcp/aggregation/protocol/checkpoint_aggregator.h
index b7b9617..2f0502b 100644
--- a/fcp/aggregation/protocol/checkpoint_aggregator.h
+++ b/fcp/aggregation/protocol/checkpoint_aggregator.h
@@ -49,10 +49,22 @@ class CheckpointAggregator {
// Returns INVALID_ARGUMENT if the configuration is invalid.
static absl::Status ValidateConfig(const Configuration& configuration);
+ // Validates the Intrinsics that will subsequently be used to create an
+ // instance of CheckpointAggregator.
+ // Returns INVALID_ARGUMENT if the configuration is invalid.
+ static absl::Status ValidateIntrinsics(
+ const std::vector<Intrinsic>& intrinsics);
+
// Creates an instance of CheckpointAggregator.
static absl::StatusOr<std::unique_ptr<CheckpointAggregator>> Create(
const Configuration& configuration);
+ // Creates an instance of CheckpointAggregator.
+ // The `intrinsics` are expected to be created using `ParseFromConfig` which
+ // validates the configuration.
+ static absl::StatusOr<std::unique_ptr<CheckpointAggregator>> Create(
+ std::vector<Intrinsic> intrinsics);
+
// Accumulates a checkpoint via nested tensor aggregators. The tensors are
// provided by the CheckpointParser instance.
absl::Status Accumulate(CheckpointParser& checkpoint_parser);