#include "components/segmentation_platform/internal/execution/processing/feature_processor_state.h"
#include "base/task/sequenced_task_runner.h"
#include "base/time/time.h"
#include "components/segmentation_platform/internal/database/ukm_types.h"
#include "components/segmentation_platform/internal/metadata/metadata_utils.h"
#include "components/segmentation_platform/internal/stats.h"
#include "components/segmentation_platform/public/config.h"
namespace segmentation_platform::processing {
FeatureProcessorState::FeatureProcessorState()
: … { … }
FeatureProcessorState::FeatureProcessorState(
FeatureProcessorStateId id,
base::Time prediction_time,
base::Time observation_time,
base::TimeDelta bucket_duration,
SegmentId segment_id,
scoped_refptr<InputContext> input_context,
FeatureListQueryProcessor::FeatureProcessorCallback callback)
: … { … }
FeatureProcessorState::~FeatureProcessorState() = default;
void FeatureProcessorState::SetError(stats::FeatureProcessingError error,
const std::string& message) { … }
base::WeakPtr<FeatureProcessorState> FeatureProcessorState::GetWeakPtr() { … }
std::optional<std::pair<std::unique_ptr<QueryProcessor>, bool>>
FeatureProcessorState::PopNextProcessor() { … }
void FeatureProcessorState::AppendProcessor(
std::unique_ptr<QueryProcessor> processor,
bool is_input) { … }
void FeatureProcessorState::AppendIndexedTensors(
const QueryProcessor::IndexedTensors& result,
bool is_input) { … }
void FeatureProcessorState::OnFinishProcessing() { … }
std::vector<float> FeatureProcessorState::MergeTensors(
const QueryProcessor::IndexedTensors& tensor) { … }
}