8 #ifndef INFINISPAN_HOTROD_CPP_SRC_HOTROD_API_TRANSACTIONS_H_ 9 #define INFINISPAN_HOTROD_CPP_SRC_HOTROD_API_TRANSACTIONS_H_ 29 std::vector<char> globalId;
30 std::vector<char> branchId;
38 class RemoteCacheBase;
40 namespace operations {
41 class PrepareCommitOperation;
76 enum ControlBit { NONE = 0x00, NOT_READ = 0x01, NON_EXISTING = 0x02, REMOVE_OP = 0x04 };
83 std::function<void (const void *)>
deleter;
84 std::function<void (const void *, std::vector<char>&)> valueMarshaller;
85 unsigned char controlByte = NONE;
87 ContextEntry(
Action action,
const void* value, std::function<
void (
const void *)> deleter, std::function<
void (
const void *, std::vector<char>&)> valueMarshaller) : action(action), value(value), changed(false), deleter(deleter), valueMarshaller(valueMarshaller) {}
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);
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);
105 void setValueAsDeleted(std::vector<char>& key);
106 void removeEntry(
const std::vector<char>& key);
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;
158 HR_EXTERN const std::string& statusToString();
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
Definition: Transactions.h:21
Definition: Transactions.h:174
bool canRollback() const
Definition: Transactions.h:145
HR_EXTERN uint32_t getFormatId() const
ContextEntry()
Definition: Transactions.h:86
Definition: Transactions.h:73
#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
~ContextEntry()
Definition: Transactions.h:89
Definition: TransactionManager.h:24
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
Definition: AuthenticationConfiguration.h:10
Definition: Transactions.h:50
bool operator()(const std::vector< char > &a, const std::vector< char > &b) const
Definition: Transactions.h:169
Definition: Transactions.h:49
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
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
Definition: Transactions.h:54
void setPrepared(TransactionRemoteStatus status)
Definition: Transactions.h:95
ControlBit
Definition: Transactions.h:76
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
TransactionStatus
Definition: Transactions.h:45
Definition: Transactions.h:130
Definition: Transactions.h:48
Definition: Transactions.h:120