载入中...
搜索中...
未找到
eve::dialogue::DialogueStateMutationParticipant类 参考final

Transaction participant that delegates an atomic state mutation. 更多...

#include <DialoguePayment.h>

类 eve::dialogue::DialogueStateMutationParticipant 继承关系图:
eve::transaction::ITransactionParticipant

Public 成员函数

 DialogueStateMutationParticipant (eve::IStateMutation &provider, std::span< const eve::StateMutation > mutations)
 Bind a copied mutation set to one borrowed mutation provider.
 
 DialogueStateMutationParticipant (const DialogueStateMutationParticipant &)=delete
 
DialogueStateMutationParticipant & operator= (const DialogueStateMutationParticipant &)=delete
 
 DialogueStateMutationParticipant (DialogueStateMutationParticipant &&)=delete
 
DialogueStateMutationParticipant & operator= (DialogueStateMutationParticipant &&)=delete
 
 ~DialogueStateMutationParticipant () override=default
 Releases DialogueStateMutationParticipant resources.
 
std::string_view name () const noexcept override
 Stable diagnostic name.
 
eve::Result< void > prepare (const eve::transaction::TransactionContext &context) override
 Validate and stage local changes for the transaction.
 
eve::Result< void > commit (const eve::transaction::TransactionContext &context) override
 Publish this participant's staged changes.
 
eve::Result< void > rollback (const eve::transaction::TransactionContext &context) override
 Discard a prepared but not committed stage.
 
eve::Result< void > compensate (const eve::transaction::TransactionContext &context) override
 Undo an already committed external effect by compensation.
 
- Public 成员函数 继承自 eve::transaction::ITransactionParticipant
virtual ~ITransactionParticipant ()=default
 Releases ITransactionParticipant resources.
 

详细描述

Transaction participant that delegates an atomic state mutation.

The provider is borrowed. prepare performs no observable mutation and commit calls the provider's all-or-nothing apply operation. This participant must be the final state-writing participant in a composed payment because generic IStateMutation has no inverse operation; account participants are therefore committed before it and compensate on failure.

在文件 DialoguePayment.h 第 81 行定义.

构造及析构函数说明

◆ DialogueStateMutationParticipant() [1/3]

eve::dialogue::DialogueStateMutationParticipant::DialogueStateMutationParticipant ( eve::IStateMutation &  provider,
std::span< const eve::StateMutation >  mutations 
)

Bind a copied mutation set to one borrowed mutation provider.

参数
providerAuthoritative StatePatch-compatible mutation provider.
mutationsPersistent or volatile mutations owned by this participant.

在文件 DialoguePayment.cpp 第 121 行定义.

◆ DialogueStateMutationParticipant() [2/3]

eve::dialogue::DialogueStateMutationParticipant::DialogueStateMutationParticipant ( const DialogueStateMutationParticipant &  )
delete

◆ DialogueStateMutationParticipant() [3/3]

eve::dialogue::DialogueStateMutationParticipant::DialogueStateMutationParticipant ( DialogueStateMutationParticipant &&  )
delete

◆ ~DialogueStateMutationParticipant()

eve::dialogue::DialogueStateMutationParticipant::~DialogueStateMutationParticipant ( )
overridedefault

Releases DialogueStateMutationParticipant resources.

成员函数说明

◆ commit()

eve::Result< void > eve::dialogue::DialogueStateMutationParticipant::commit ( const eve::transaction::TransactionContext &  context)
overridevirtual

Publish this participant's staged changes.

参数
contextShared borrowed transaction context.
返回
Success when the participant is committed, otherwise diagnostics.

Commits .

实现了 eve::transaction::ITransactionParticipant.

在文件 DialoguePayment.cpp 第 135 行定义.

引用了 eve::Applied, eve::state::IStateMutation::apply(), eve::Conflict, context, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Status::success(), eve::Result< T >::success() , 以及 eve::state::MutationContext::transactionId.

◆ compensate()

eve::Result< void > eve::dialogue::DialogueStateMutationParticipant::compensate ( const eve::transaction::TransactionContext &  context)
overridevirtual

Undo an already committed external effect by compensation.

参数
contextShared borrowed transaction context.
返回
Success when compensation completes, Unsupported when impossible, or another failure with diagnostics.

Compensate.

实现了 eve::transaction::ITransactionParticipant.

在文件 DialoguePayment.cpp 第 154 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure() , 以及 eve::Unsupported.

◆ name()

std::string_view eve::dialogue::DialogueStateMutationParticipant::name ( ) const
inlineoverridevirtualnoexcept

Stable diagnostic name.

重载 eve::transaction::ITransactionParticipant .

在文件 DialoguePayment.h 第 98 行定义.

◆ operator=() [1/2]

DialogueStateMutationParticipant & eve::dialogue::DialogueStateMutationParticipant::operator= ( const DialogueStateMutationParticipant &  )
delete

◆ operator=() [2/2]

DialogueStateMutationParticipant & eve::dialogue::DialogueStateMutationParticipant::operator= ( DialogueStateMutationParticipant &&  )
delete

◆ prepare()

eve::Result< void > eve::dialogue::DialogueStateMutationParticipant::prepare ( const eve::transaction::TransactionContext &  context)
overridevirtual

Validate and stage local changes for the transaction.

参数
contextShared borrowed transaction context.
返回
Success when this participant is prepared, otherwise diagnostics.

Prepare.

实现了 eve::transaction::ITransactionParticipant.

在文件 DialoguePayment.cpp 第 125 行定义.

引用了 eve::Applied, eve::Conflict, context, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Status::success() , 以及 eve::Result< T >::success().

◆ rollback()

eve::Result< void > eve::dialogue::DialogueStateMutationParticipant::rollback ( const eve::transaction::TransactionContext &  context)
overridevirtual

Discard a prepared but not committed stage.

参数
contextShared borrowed transaction context.
返回
Success when provisional state is discarded, otherwise diagnostics.

Rollback.

实现了 eve::transaction::ITransactionParticipant.

在文件 DialoguePayment.cpp 第 146 行定义.

引用了 eve::Applied, eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Status::success() , 以及 eve::Result< T >::success().


该类的文档由以下文件生成: