|
|
Class to store and execute Packet ACL transactions. Such a transaction is a sequence of Packet ACL commands that should executed atomically.
This is also used as the container class for all access to the ACLs maintained by the FEA.
A map of pending transactions is maintained to facilitate rollback.
typedef TransactionManager::Operation Operation | Operation |
enum { MAX_TRANS_PENDING = 16, MAX_OPS_PENDING = 200, TIMEOUT_MS = 10000 } |
PaTransactionManager (EventLoop& e, PaTableManager& ptm,
uint32_t max_pending = MAX_TRANS_PENDING)
| PaTransactionManager |
const string& error ()
| error |
[const]
Returns: string representing first error during commit. If string is empty(), then no error occurred.
inline size_t retrieve_max_ops ()
| retrieve_max_ops |
[const]
Returns: maximum number of pending operations in a transaction allowed by this class.
inline PaTableManager& ptm ()
| ptm |
[const]
Returns: the PaTableManager associated with this PaTransactionManager.
inline PaBackend* get_backend ()
| get_backend |
[const]
Returns: pointer to the current PaBackend in use.
bool set_backend (const char* name)
| set_backend |
Returns: true if the named PaBackend was successfully constructed. The currently active PaBackend, if any, will be freed, only if construction was successful.
PaTransaction (struct) | PaTransaction |
[protected]
PaTransaction is used to hold the Mementoes we request from underlying subsystems to support rollback.
inline void unset_error ()
| unset_error |
[protected]
inline bool set_unset_error (const string& error)
| set_unset_error |
[protected]
void pre_commit (uint32_t tid)
| pre_commit |
[protected]
Reimplemented from TransactionManager.
void post_commit (uint32_t tid)
| post_commit |
[protected]
Reimplemented from TransactionManager.
void operation_result (bool success, const TransactionOperation& op)
| operation_result |
[protected]
Reimplemented from TransactionManager.