GridGain C++
core/include/ignite/transactions/transactions.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019 GridGain Systems, Inc. and Contributors.
3  *
4  * Licensed under the GridGain Community Edition License (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * https://www.gridgain.com/products/software/community-edition/gridgain-community-edition-license
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
22 #ifndef _IGNITE_TRANSACTIONS_TRANSACTIONS
23 #define _IGNITE_TRANSACTIONS_TRANSACTIONS
24 
25 #include <ignite/common/concurrent.h>
26 #include <ignite/jni/java.h>
27 
30 #include "ignite/impl/transactions/transactions_impl.h"
31 
32 namespace ignite
33 {
34  namespace transactions
35  {
44  class IGNITE_FRIEND_EXPORT Transactions
45  {
46  public:
54  Transactions(ignite::common::concurrent::SharedPointer<impl::transactions::TransactionsImpl> impl);
55 
61  Transactions(const Transactions& other);
62 
69  Transactions& operator=(const Transactions& other);
70 
74  ~Transactions();
75 
83  Transaction GetTx();
84 
91  Transaction TxStart();
92 
100  Transaction TxStart(IgniteError& err);
101 
110  Transaction TxStart(TransactionConcurrency::Type concurrency,
111  TransactionIsolation::Type isolation);
112 
122  Transaction TxStart(TransactionConcurrency::Type concurrency,
123  TransactionIsolation::Type isolation, IgniteError& err);
124 
136  Transaction TxStart(TransactionConcurrency::Type concurrency,
137  TransactionIsolation::Type isolation, int64_t timeout,
138  int32_t txSize);
139 
151  Transaction TxStart(TransactionConcurrency::Type concurrency,
152  TransactionIsolation::Type isolation, int64_t timeout,
153  int32_t txSize, IgniteError& err);
154 
160  TransactionMetrics GetMetrics();
161 
170  TransactionMetrics GetMetrics(IgniteError& err);
171 
172  private:
174  ignite::common::concurrent::SharedPointer<impl::transactions::TransactionsImpl> impl;
175  };
176  }
177 }
178 
179 #endif //_IGNITE_TRANSACTIONS_TRANSACTIONS
ignite::transactions::Transactions
Transactions facade.
Definition: core/include/ignite/transactions/transactions.h:44
ignite
Ignite API.
Definition: cache.h:47
ignite::transactions::TransactionConcurrency::Type
Type
Definition: core/include/ignite/transactions/transaction_consts.h:34
transaction_metrics.h
ignite::transactions::Transaction
Ignite cache transaction.
Definition: core/include/ignite/transactions/transaction.h:46
transaction.h
ignite::IgniteError
Ignite error information.
Definition: ignite_error.h:93
ignite::transactions::TransactionIsolation::Type
Type
Definition: core/include/ignite/transactions/transaction_consts.h:72
ignite::transactions::TransactionMetrics
Transaction metrics, shared across all caches.
Definition: transaction_metrics.h:36