Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
kcenon::monitoring::transaction_operation Class Reference

Single transaction operation with execute and rollback capabilities. More...

#include <data_consistency.h>

Collaboration diagram for kcenon::monitoring::transaction_operation:
Collaboration graph

Public Types

using execute_func_t = std::function<common::VoidResult()>
 
using rollback_func_t = std::function<common::VoidResult()>
 

Public Member Functions

 transaction_operation (const std::string &name, execute_func_t execute_func, rollback_func_t rollback_func=nullptr)
 
std::string name () const
 
bool is_executed () const
 
common::VoidResult execute ()
 
bool rollback ()
 

Private Attributes

std::string name_
 
execute_func_t execute_func_
 
rollback_func_t rollback_func_
 
bool executed_
 

Detailed Description

Single transaction operation with execute and rollback capabilities.

Definition at line 120 of file data_consistency.h.

Member Typedef Documentation

◆ execute_func_t

using kcenon::monitoring::transaction_operation::execute_func_t = std::function<common::VoidResult()>

Definition at line 122 of file data_consistency.h.

◆ rollback_func_t

using kcenon::monitoring::transaction_operation::rollback_func_t = std::function<common::VoidResult()>

Definition at line 123 of file data_consistency.h.

Constructor & Destructor Documentation

◆ transaction_operation()

kcenon::monitoring::transaction_operation::transaction_operation ( const std::string & name,
execute_func_t execute_func,
rollback_func_t rollback_func = nullptr )
inline

Definition at line 125 of file data_consistency.h.

Member Function Documentation

◆ execute()

common::VoidResult kcenon::monitoring::transaction_operation::execute ( )
inline

Definition at line 136 of file data_consistency.h.

136 {
137 if (execute_func_) {
138 auto result = execute_func_();
139 if (result.is_ok()) {
140 executed_ = true;
141 }
142 return result;
143 }
144 executed_ = true;
145 return common::ok();
146 }

References execute_func_, and executed_.

◆ is_executed()

bool kcenon::monitoring::transaction_operation::is_executed ( ) const
inline

Definition at line 134 of file data_consistency.h.

134{ return executed_; }

References executed_.

◆ name()

std::string kcenon::monitoring::transaction_operation::name ( ) const
inline

Definition at line 133 of file data_consistency.h.

133{ return name_; }

References name_.

◆ rollback()

bool kcenon::monitoring::transaction_operation::rollback ( )
inline

Definition at line 148 of file data_consistency.h.

148 {
149 if (rollback_func_) {
150 auto result = rollback_func_();
151 return result.is_ok();
152 }
153 return true;
154 }

References rollback_func_.

Member Data Documentation

◆ execute_func_

execute_func_t kcenon::monitoring::transaction_operation::execute_func_
private

Definition at line 158 of file data_consistency.h.

Referenced by execute().

◆ executed_

bool kcenon::monitoring::transaction_operation::executed_
private

Definition at line 160 of file data_consistency.h.

Referenced by execute(), and is_executed().

◆ name_

std::string kcenon::monitoring::transaction_operation::name_
private

Definition at line 157 of file data_consistency.h.

Referenced by name().

◆ rollback_func_

rollback_func_t kcenon::monitoring::transaction_operation::rollback_func_
private

Definition at line 159 of file data_consistency.h.

Referenced by rollback().


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