20#ifndef GEODE_CACHETRANSACTIONMANAGER_H_
21#define GEODE_CACHETRANSACTIONMANAGER_H_
28#include "TransactionId.hpp"
29#include "internal/geode_globals.hpp"
200 std::chrono::milliseconds waitTime) = 0;
An interface for objects who perform transaction management.
Definition: CacheTransactionManager.hpp:39
virtual TransactionId & suspend()=0
Suspends the transaction on the current thread.
virtual void begin()=0
Creates a new transaction and associates it with the current thread.
virtual bool exists(TransactionId &transactionId)=0
Reports the existence of a transaction for the given transactionId.
virtual TransactionId & getTransactionId()=0
Returns the transaction identifier for the current thread.
virtual bool isSuspended(TransactionId &transactionId)=0
This method can be used to determine if a transaction with the given transaction identifier is curren...
virtual bool exists()=0
Reports the existence of a Transaction for this thread.
virtual void resume(TransactionId &transactionId)=0
On the current thread, resumes a transaction that was previously suspended using suspend().
virtual void commit()=0
Commit the transaction associated with the current thread.
virtual bool tryResume(TransactionId &transactionId, std::chrono::milliseconds waitTime)=0
On the current thread, resumes a transaction that was previously suspended using suspend(),...
virtual bool tryResume(TransactionId &transactionId)=0
On the current thread, resumes a transaction that was previously suspended using suspend().
virtual void prepare()=0
Performs prepare during 2 phase commit completion, for the transaction associated with the current th...
virtual void rollback()=0
Roll back the transaction associated with the current thread.
The TransactionId interface is a "marker" interface that represents a unique Geode transaction.
Definition: TransactionId.hpp:36