|
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. |