summaryrefslogtreecommitdiff
path: root/src/mintdb/perf_taler_mintdb_interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mintdb/perf_taler_mintdb_interpreter.h')
-rw-r--r--src/mintdb/perf_taler_mintdb_interpreter.h57
1 files changed, 53 insertions, 4 deletions
diff --git a/src/mintdb/perf_taler_mintdb_interpreter.h b/src/mintdb/perf_taler_mintdb_interpreter.h
index 8595d046b..b62a87e75 100644
--- a/src/mintdb/perf_taler_mintdb_interpreter.h
+++ b/src/mintdb/perf_taler_mintdb_interpreter.h
@@ -114,9 +114,10 @@
* @param _label_start label of the start of the measurment
* @param _label_stop label of the end of the measurment
* @param _description description of the measure displayed in Gauger
+ * @param _unit the unit of the data measured, typicly something/sec
* @param _divide number of measurments in the interval [FIXME: need UNIT]
*/
-#define PERF_TALER_MINTDB_INIT_CMD_GAUGER(_label, _label_start, _label_stop, _description, _divide) \
+#define PERF_TALER_MINTDB_INIT_CMD_GAUGER(_label, _label_start, _label_stop, _description, _unit, _divide) \
{ \
.command = PERF_TALER_MINTDB_CMD_GAUGER, \
.label = _label, \
@@ -125,6 +126,7 @@
.label_start = _label_start, \
.label_stop = _label_stop, \
.description = _description, \
+ .unit = _unit \
.divide = _divide, \
} \
}
@@ -344,6 +346,7 @@ struct PERF_TALER_MINTDB_Data
/**
* Storage for a variety of data type
+ * The data saved should match #type
*/
union PERF_TALER_MINTDB_Memory
{
@@ -412,7 +415,7 @@ enum PERF_TALER_MINTDB_CMD_Name
PERF_TALER_MINTDB_CMD_COMMIT_TRANSACTION,
/**
- * Abort a transaction
+ * Abort a transaction started with #PERF_TALER_MINTDB_CMD_START_TRANSACTION
*/
PERF_TALER_MINTDB_CMD_ABORT_TRANSACTION,
@@ -422,11 +425,18 @@ enum PERF_TALER_MINTDB_CMD_Name
PERF_TALER_MINTDB_CMD_SAVE_ARRAY,
/**
- * Load deposits saved earlier
+ * Load items saved earlier in a #PERF_TALER_MINTDB_CMD_SAVE_ARRAY
+ * The items are loaded in a random order, but all of them will be loaded
*/
PERF_TALER_MINTDB_CMD_LOAD_ARRAY,
/**
+ * Loads a random item from a #PERF_TALER_MINTDB_CMD_SAVE_ARRAY
+ * A random item is loaded each time the command is run
+ */
+ PERF_TALER_MINTDB_CMD_LOAD_RANDOM,
+
+ /**
* Insert a deposit into the database
*/
PERF_TALER_MINTDB_CMD_INSERT_DEPOSIT,
@@ -510,7 +520,7 @@ union PERF_TALER_MINTDB_CMD_Details
/**
* Details about the #PERF_TALER_MINTDB_CMD_GAUGER command
*/
- struct PERF_TALER_MINTDB_CMD_GaugerDetails
+ struct PERF_TALER_MINTDB_CMD_gaugerDetails
{
/**
* Label of the starting timestamp
@@ -528,6 +538,11 @@ union PERF_TALER_MINTDB_CMD_Details
const char *description;
/**
+ * The name of the metric beeing used
+ */
+ const char *unit;
+
+ /**
* Constant the result needs to be divided by
* to get the result per unit
*/
@@ -586,6 +601,17 @@ union PERF_TALER_MINTDB_CMD_Details
/**
+ * Contains data for the #PERF_TALER_MINTDB_CMD_LOAD_RANDOM command
+ */
+ struct PERF_TALER_MINTDB_CMD_loadRandomDetails
+ {
+ /**
+ * The label of the #PERF_TALER_MINTDB_CMD_SAVE_ARRAY the items will be extracted from
+ */
+ const char *label_save;
+ } load_random;
+
+ /**
* Data used by the #PERF_TALER_MINTDB_CMD_INSERT_DEPOSIT command
*/
struct PERF_TALER_MINTDB_CMD_insertDepositDetails
@@ -648,6 +674,17 @@ union PERF_TALER_MINTDB_CMD_Details
*/
const char *label_reserve;
} insert_withdraw;
+
+ /**
+ *
+ */
+ struct PERF_TALER_MINTDB_CMD_getWithdraw
+ {
+ /**
+ * label of the source for the withdra information
+ */
+ const char *label_source;
+ } get_withdraw;
};
@@ -706,4 +743,16 @@ PERF_TALER_MINTDB_interpret(
struct TALER_MINTDB_Plugin *db_plugin,
struct PERF_TALER_MINTDB_Cmd cmd[]);
+
+/**
+ * Check if the given command array is syntaxicly correct
+ * This will check if the label are corrects but will not check if
+ * they are pointing to an apropriate command.
+ *
+ * @param cmd the command array to check
+ * @return #GNUNET_OK is @a cmd is correct; #GNUNET_SYSERR if it is'nt
+ */
+int
+PERF_TALER_MINTDB_check (const struct PERF_TALER_MINTDB_Cmd *cmd);
+
#endif