Data Structures | Macros | Functions
picotm-txqueue-state.h File Reference

Provides non-transactional state and entries for transactional queues. More...

#include "picotm/config/picotm-txlib-config.h"
#include "picotm/compiler.h"
#include "picotm/picotm-lib-rwlock.h"
#include <stddef.h>

Data Structures

struct  txqueue_entry
 Represents an entry in a transaction-safe queue. More...
 
struct  txqueue_state
 The global state of transaction-safe queue. More...
 

Macros

#define TXQUEUE_ENTRY_INITIALIZER
 Initializer macro for struct txqueue_entry.
 
#define TXQUEUE_STATE_INITIALIZER(queue_state)
 Initializer macro for struct txqueue_state.
 

Functions

PICOTM_NOTHROW void txqueue_entry_init (struct txqueue_entry *self)
 Initializes an entry of a transactional queue. More...
 
PICOTM_NOTHROW void txqueue_entry_uninit (struct txqueue_entry *self)
 Cleans up an entry of a transactional queue. More...
 
PICOTM_NOTHROW void txqueue_state_clear_and_uninit_entries (struct txqueue_state *self, void(*uninit)(struct txqueue_entry *, void *), void *data)
 Removes all entries from a queue state and runs a cleanup function on each. More...
 
PICOTM_NOTHROW void txqueue_state_init (struct txqueue_state *self)
 Initializes queue state. More...
 
PICOTM_NOTHROW void txqueue_state_uninit (struct txqueue_state *self)
 Cleans up queue state. More...