8 #ifndef INFINISPAN_HOTROD_CPP_SRC_HOTROD_API_TRANSACTIONS_H_
9 #define INFINISPAN_HOTROD_CPP_SRC_HOTROD_API_TRANSACTIONS_H_
18 namespace infinispan {
29 std::vector<char> globalId;
30 std::vector<char> branchId;
38 class RemoteCacheBase;
40 namespace operations {
41 class PrepareCommitOperation;
83 std::function<void (const void *)>
deleter;
88 ContextEntry(
Action action,
const void* value,
MetadataValue&
meta, std::function<
void (
const void *)>
deleter, std::function<
void (
const void *, std::vector<char>&)>
valueMarshaller) : action(action), value(value),
origMeta(meta), meta(meta),
changed(false),
deleter(
deleter),
valueMarshaller(
valueMarshaller) {}
97 this->status = status;
99 bool hasValue(
const std::vector<char>& key);
100 bool isDeleted(
const std::vector<char>& key);
101 const void*
getValue(
const std::vector<char>& key);
102 ContextEntry&
getEntry(std::vector<char>& key);
103 void addValue(std::vector<char>& key,
const void* value,
MetadataValue& meta, std::function<
void (
const void *)> deleter, std::function<
void (
const void *, std::vector<char>&)> valueMarshaller,
ControlBit cb =
NONE);
104 void setValue(std::vector<char>& key,
const void* value,
MetadataValue& meta, std::function<
void (
const void *)> deleter, std::function<
void (
const void *, std::vector<char>&)> valueMarshaller);
108 void getBulk(
int size, std::map<std::vector<char>,
const void*> &mbuf);
111 std::map<const std::vector<char>, ContextEntry> context;
113 friend operations::PrepareCommitOperation;
125 std::map<RemoteCacheBase*, TransactionContext> registeredCache;
126 std::map<RemoteCacheBase*, TransactionContext*> preparedCache;
163 static const std::map<TransactionStatus, std::string> mapStatusString;
169 bool operator()(
const std::vector<char>& a,
const std::vector<char>& b)
const {
170 return a.size() < b.size();
Definition: Transactions.h:168
Definition: Transactions.h:77
Definition: Transactions.h:47
void addValue(std::vector< char > &key, const void *value, MetadataValue &meta, std::function< void(const void *)> deleter, std::function< void(const void *, std::vector< char > &)> valueMarshaller, ControlBit cb=NONE)
TransactionContext & getTransactionContext(RemoteCacheBase *cache)
Definition: Transactions.h:21
Definition: Transactions.h:174
bool canRollback() const
Definition: Transactions.h:145
HR_EXTERN uint32_t getFormatId() const
std::function< void(const void *, std::vector< char > &)> valueMarshaller
Definition: Transactions.h:84
ContextEntry()
Definition: Transactions.h:86
Definition: Transactions.h:73
void setValueAsDeleted(std::vector< char > &key)
Definition: Transactions.h:76
#define HR_EXTERN
Definition: ImportExport.h:35
HR_EXTERN const std::vector< char > & getBranchQualifier() const
Transaction()
Definition: Transactions.h:133
HR_EXTERN const std::vector< char > & getGlobalTransactionId() const
Definition: Transactions.h:75
Definition: Transactions.h:52
bool acceptRW() const
Definition: Transactions.h:151
TransactionRemoteStatus getStatus() const
Definition: Transactions.h:91
void setValue(std::vector< char > &key, const void *value, MetadataValue &meta, std::function< void(const void *)> deleter, std::function< void(const void *, std::vector< char > &)> valueMarshaller)
HR_EXTERN const std::string & statusToString()
~ContextEntry()
Definition: Transactions.h:89
Definition: TransactionManager.h:24
bool hasValue(const std::vector< char > &key)
HR_EXTERN bool operator<(const XID &other) const
Action action
Definition: Transactions.h:78
const void * value
Definition: Transactions.h:79
Definition: Transactions.h:46
void getBulk(int size, std::map< std::vector< char >, const void * > &mbuf)
Definition: Transactions.h:50
SynchronizationAdapter & getAdapter(Transaction &tx)
bool operator()(const std::vector< char > &a, const std::vector< char > &b) const
Definition: Transactions.h:169
Definition: Transactions.h:49
unsigned char controlByte
Definition: Transactions.h:85
ContextEntry(Action action, const void *value, MetadataValue &meta, std::function< void(const void *)> deleter, std::function< void(const void *, std::vector< char > &)> valueMarshaller)
Definition: Transactions.h:88
Action
Definition: Transactions.h:75
Definition: Transactions.h:51
Definition: Transactions.h:76
bool needsRollback() const
Definition: Transactions.h:148
bool canBegin() const
Definition: Transactions.h:139
bool acceptRead() const
Definition: Transactions.h:154
TransactionRemoteStatus
Definition: Transactions.h:58
std::function< void(const void *)> deleter
Definition: Transactions.h:83
bool changed
Definition: Transactions.h:82
ContextEntry(Action action, const void *value, std::function< void(const void *)> deleter, std::function< void(const void *, std::vector< char > &)> valueMarshaller)
Definition: Transactions.h:87
ContextEntry & getEntry(std::vector< char > &key)
Definition: Transactions.h:54
void setPrepared(TransactionRemoteStatus status)
Definition: Transactions.h:95
void removeEntry(const std::vector< char > &key)
ControlBit
Definition: Transactions.h:76
Definition: Transactions.h:76
Definition: Transactions.h:75
Definition: Transactions.h:55
MetadataValue origMeta
Definition: Transactions.h:80
bool canCommit() const
Definition: Transactions.h:142
Definition: Transactions.h:53
TransactionStatus getStatus() const
Definition: Transactions.h:136
MetadataValue meta
Definition: Transactions.h:81
bool isDeleted(const std::vector< char > &key)
TransactionStatus
Definition: Transactions.h:45
Definition: Transactions.h:76
Definition: Transactions.h:130
const void * getValue(const std::vector< char > &key)
Definition: Transactions.h:48
bool operator<(const Transaction &other) const
Definition: Transactions.h:157
Definition: Transactions.h:120