JULEA
|
Data Structures | |
struct | JSemantics |
Typedefs | |
typedef enum JSemanticsTemplate | JSemanticsTemplate |
typedef enum JSemanticsType | JSemanticsType |
typedef enum JSemanticsAtomicity | JSemanticsAtomicity |
typedef enum JSemanticsConsistency | JSemanticsConsistency |
typedef enum JSemanticsPersistency | JSemanticsPersistency |
typedef enum JSemanticsSecurity | JSemanticsSecurity |
typedef struct JSemantics | JSemantics |
Functions | |
JSemantics * | j_semantics_new (JSemanticsTemplate template_) |
JSemantics * | j_semantics_new_from_string (gchar const *template_str, gchar const *semantics_str) |
JSemantics * | j_semantics_ref (JSemantics *semantics) |
void | j_semantics_unref (JSemantics *semantics) |
void | j_semantics_set (JSemantics *semantics, JSemanticsType key, gint value) |
gint | j_semantics_get (JSemantics *semantics, JSemanticsType key) |
typedef struct JSemantics JSemantics |
typedef enum JSemanticsAtomicity JSemanticsAtomicity |
typedef enum JSemanticsConsistency JSemanticsConsistency |
typedef enum JSemanticsPersistency JSemanticsPersistency |
typedef enum JSemanticsSecurity JSemanticsSecurity |
typedef enum JSemanticsTemplate JSemanticsTemplate |
typedef enum JSemanticsType JSemanticsType |
enum JSemanticsAtomicity |
Atomicity of batched operations.
Enumerator | |
---|---|
J_SEMANTICS_ATOMICITY_BATCH | Consecutive operations of the same type are part of the same DB transaction.
|
J_SEMANTICS_ATOMICITY_OPERATION | Each operation is a transaction. |
J_SEMANTICS_ATOMICITY_NONE | No transactions are used.
|
Consistency levels describe when other clients are able to read written data.
The implemented levels are loosely based on the levels described in:
Chen Wang, Kathryn Mohror, and Marc Snir. 2021. File System Semantics Requirements of HPC Applications. In Proceedings of the 30th International Symposium on High-Performance Parallel and Distributed Computing (HPDC '21). Association for Computing Machinery, New York, NY, USA, 19–30. https://doi.org/10.1145/3431379.3460637
Enumerator | |
---|---|
J_SEMANTICS_CONSISTENCY_IMMEDIATE | Data is consistent immediately after the batch is executed. |
J_SEMANTICS_CONSISTENCY_SESSION | Data is consistent immediately after no reference to the batch object is held anymore. |
J_SEMANTICS_CONSISTENCY_EVENTUAL | The data of a corresponding batch will be eventually consistent after calling j_batch_execute(). Current implicit synchronization points are manual execution of any immediate batch, reading operations or program termination. If more control of asynchronous execution is wanted, consider using j_batch_execute_async() instead of consistency levels. |
Defines which guarantees are given on the persistency of finished operations.
enum JSemanticsSecurity |
enum JSemanticsTemplate |
enum JSemanticsType |
Semantics accepted by JULEA.
gint j_semantics_get | ( | JSemantics * | semantics, |
JSemanticsType | key | ||
) |
Gets a specific aspect of the semantics.
semantics | The semantics. |
key | The aspect's key. |
JSemantics * j_semantics_new | ( | JSemanticsTemplate | template_ | ) |
Creates a new semantics object. Semantics objects become immutable after the first call to j_semantics_ref().
template_ | A semantics template. |
JSemantics * j_semantics_new_from_string | ( | gchar const * | template_str, |
gchar const * | semantics_str | ||
) |
Creates a new semantics object from two strings. Semantics objects become immutable after the first call to j_semantics_ref().
template_str | A string specifying the template. |
semantics_str | A string specifying the semantics. |
JSemantics * j_semantics_ref | ( | JSemantics * | semantics | ) |
Increases the semantics' reference count. The semantics object becomes immutable after the first call to this.
semantics | The semantics. |
void j_semantics_set | ( | JSemantics * | semantics, |
JSemanticsType | key, | ||
gint | value | ||
) |
Sets a specific aspect of the semantics.
semantics | The semantics. |
key | The aspect's key. |
value | The aspect's value. |
void j_semantics_unref | ( | JSemantics * | semantics | ) |
Decreases the semantics' reference count. When the reference count reaches zero, frees the memory allocated for the semantics.
semantics | The semantics. |