NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
NES::Optimizer::PlacementAmendmentInstance Class Reference

class representing the placement amendment instance More...

#include <PlacementAmendmentInstance.hpp>

Public Member Functions

 PlacementAmendmentInstance (SharedQueryPlanPtr sharedQueryPlan, Optimizer::GlobalExecutionPlanPtr globalExecutionPlan, TopologyPtr topology, TypeInferencePhasePtr typeInferencePhase, Configurations::CoordinatorConfigurationPtr coordinatorConfiguration, DeploymentPhasePtr deploymentPhase)
 
std::future< bool > getFuture ()
 Get promise to check if the amendment instance was processed. More...
 
void setPromise (bool promise)
 

Static Public Member Functions

static PlacementAmendmentInstancePtr create (SharedQueryPlanPtr sharedQueryPlan, Optimizer::GlobalExecutionPlanPtr globalExecutionPlan, TopologyPtr topology, TypeInferencePhasePtr typeInferencePhase, Configurations::CoordinatorConfigurationPtr coordinatorConfiguration, DeploymentPhasePtr deploymentPhase)
 

Protected Member Functions

void execute ()
 Perform the placement amendment. More...
 

Detailed Description

class representing the placement amendment instance

Constructor & Destructor Documentation

◆ PlacementAmendmentInstance()

NES::Optimizer::PlacementAmendmentInstance::PlacementAmendmentInstance ( SharedQueryPlanPtr  sharedQueryPlan,
Optimizer::GlobalExecutionPlanPtr  globalExecutionPlan,
TopologyPtr  topology,
TypeInferencePhasePtr  typeInferencePhase,
Configurations::CoordinatorConfigurationPtr  coordinatorConfiguration,
DeploymentPhasePtr  deploymentPhase 
)

Member Function Documentation

◆ create()

PlacementAmendmentInstancePtr NES::Optimizer::PlacementAmendmentInstance::create ( SharedQueryPlanPtr  sharedQueryPlan,
Optimizer::GlobalExecutionPlanPtr  globalExecutionPlan,
TopologyPtr  topology,
Optimizer::TypeInferencePhasePtr  typeInferencePhase,
Configurations::CoordinatorConfigurationPtr  coordinatorConfiguration,
DeploymentPhasePtr  deploymentPhase 
)
static

Create placement amendment instance

Parameters
sharedQueryPlan
globalExecutionPlan
topology
typeInferencePhase
coordinatorConfiguration
deploymentPhase
Returns
a shared pointer to the placement amendment instance

Referenced by NES::RequestProcessor::ISQPRequest::executeRequestLogic(), NES::RequestProcessor::StopQueryRequest::executeRequestLogic(), NES::RequestProcessor::AddQueryRequest::executeRequestLogic(), and NES::RequestProcessor::FailQueryRequest::executeRequestLogic().

Here is the caller graph for this function:

◆ execute()

void NES::Optimizer::PlacementAmendmentInstance::execute ( )
protected

Perform the placement amendment.

Returns
true if success else false

References NES::AddQuery, NES::ReconfigurationMarker::create(), NES::CREATED, NES::DEPLOYED, magic_enum::enum_name(), NES::FAILED, NES::FailQuery, NES::MARKED_FOR_DEPLOYMENT, NES::MARKED_FOR_MIGRATION, NES::MARKED_FOR_REDEPLOYMENT, NES::MARKED_FOR_UPDATE_AND_DRAIN, NES::MIGRATING, NES_DEBUG, NES_ERROR, NES_WARNING, NES::PARTIALLY_PROCESSED, NES::PROCESSED, NES::RestartQuery, NES::RUNNING, NES::STOPPED, NES::StopQuery, and NES::UPDATED.

Here is the call graph for this function:

◆ getFuture()

std::future< bool > NES::Optimizer::PlacementAmendmentInstance::getFuture ( )

Get promise to check if the amendment instance was processed.

Returns

◆ setPromise()

void NES::Optimizer::PlacementAmendmentInstance::setPromise ( bool  promise)
Warning
only used by the mocks for testing purposes

The documentation for this class was generated from the following files: