Rename persist retain_add to retain_set

This commit is contained in:
Roger A. Light
2022-03-01 20:30:26 +00:00
parent c985736866
commit cbb01193a0
16 changed files with 38 additions and 37 deletions

View File

@@ -79,7 +79,7 @@ enum mosquitto_plugin_event {
MOSQ_EVT_PERSIST_BASE_MSG_ADD = 14,
MOSQ_EVT_PERSIST_BASE_MSG_DELETE = 15,
MOSQ_EVT_PERSIST_BASE_MSG_LOAD = 16,
MOSQ_EVT_PERSIST_RETAIN_MSG_ADD = 17,
MOSQ_EVT_PERSIST_RETAIN_MSG_SET = 17,
MOSQ_EVT_PERSIST_RETAIN_MSG_DELETE = 18,
MOSQ_EVT_PERSIST_CLIENT_ADD = 19,
MOSQ_EVT_PERSIST_CLIENT_DELETE = 20,
@@ -296,7 +296,7 @@ struct mosquitto_evt_persist_base_msg {
};
/* Data for the MOSQ_EVT_PERSIST_RETAIN/_DELETE event */
/* Data for the MOSQ_EVT_PERSIST_RETAIN_MSG_SET/_DELETE event */
/* NOTE: The persistence interface is currently marked as unstable, which means
* it may change in a future minor release. */
struct mosquitto_evt_persist_retain_msg {
@@ -1059,9 +1059,9 @@ int mosquitto_subscription_add(const char *client_id, const char *topic, uint8_t
int mosquitto_subscription_delete(const char *client_id, const char *topic);
/* Function: mosquitto_persist_retain_msg_add
/* Function: mosquitto_persist_retain_msg_set
*
* Use to add a retained message. It is not required to delete a retained
* Use to set a retained message. It is not required to delete a retained
* message for an existing topic first.
*
* Parameters:
@@ -1074,7 +1074,7 @@ int mosquitto_subscription_delete(const char *client_id, const char *topic);
* MOSQ_ERR_NOT_FOUND - the referenced base message was not found
* MOSQ_ERR_NOMEM - on out of memory
*/
int mosquitto_persist_retain_msg_add(const char *topic, uint64_t store_id);
int mosquitto_persist_retain_msg_set(const char *topic, uint64_t store_id);
/* Function: mosquitto_persist_retain_msg_delete

View File

@@ -68,7 +68,7 @@ const char evt_topics[][60] = {
TOPIC_BASE "persist/message/base/add", /* MOSQ_EVT_PERSIST_MSG_ADD */
TOPIC_BASE "persist/message/base/delete", /* MOSQ_EVT_PERSIST_MSG_DELETE */
TOPIC_BASE "persist/message/base/load", /* MOSQ_EVT_PERSIST_MSG_LOAD */
TOPIC_BASE "persist/message/retain/add", /* MOSQ_EVT_PERSIST_RETAIN_ADD */
TOPIC_BASE "persist/message/retain/set", /* MOSQ_EVT_PERSIST_RETAIN_SET */
TOPIC_BASE "persist/message/retain/delete", /* MOSQ_EVT_PERSIST_RETAIN_DELETE */
TOPIC_BASE "persist/client/add", /* MOSQ_EVT_PERSIST_CLIENT_ADD */
TOPIC_BASE "persist/client/delete", /* MOSQ_EVT_PERSIST_CLIENT_DELETE */

View File

@@ -233,7 +233,7 @@ static int prepare_statements(struct mosquitto_sqlite *ms)
"(topic, store_id)"
"VALUES(?,?)",
-1, SQLITE_PREPARE_PERSISTENT,
&ms->retain_msg_add_stmt, NULL);
&ms->retain_msg_set_stmt, NULL);
if(rc) goto fail;
rc = sqlite3_prepare_v3(ms->db,
@@ -300,7 +300,7 @@ void persist_sqlite__cleanup(struct mosquitto_sqlite *ms)
sqlite3_finalize(ms->base_msg_add_stmt);
sqlite3_finalize(ms->base_msg_remove_stmt);
sqlite3_finalize(ms->base_msg_load_stmt);
sqlite3_finalize(ms->retain_msg_add_stmt);
sqlite3_finalize(ms->retain_msg_set_stmt);
sqlite3_finalize(ms->retain_msg_remove_stmt);
if(ms->db){

View File

@@ -42,7 +42,7 @@ struct mosquitto_sqlite {
sqlite3_stmt *base_msg_add_stmt;
sqlite3_stmt *base_msg_remove_stmt;
sqlite3_stmt *base_msg_load_stmt;
sqlite3_stmt *retain_msg_add_stmt;
sqlite3_stmt *retain_msg_set_stmt;
sqlite3_stmt *retain_msg_remove_stmt;
time_t last_transaction;
int synchronous;
@@ -64,7 +64,7 @@ int persist_sqlite__client_msg_update_cb(int event, void *event_data, void *user
int persist_sqlite__base_msg_add_cb(int event, void *event_data, void *userdata);
int persist_sqlite__base_msg_load_cb(int event, void *event_data, void *userdata);
int persist_sqlite__base_msg_remove_cb(int event, void *event_data, void *userdata);
int persist_sqlite__retain_msg_add_cb(int event, void *event_data, void *userdata);
int persist_sqlite__retain_msg_set_cb(int event, void *event_data, void *userdata);
int persist_sqlite__retain_msg_remove_cb(int event, void *event_data, void *userdata);
int persist_sqlite__subscription_add_cb(int event, void *event_data, void *userdata);
int persist_sqlite__subscription_remove_cb(int event, void *event_data, void *userdata);

View File

@@ -96,7 +96,7 @@ int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data, s
if(rc) goto fail;
rc = mosquitto_callback_register(plg_id, MOSQ_EVT_PERSIST_BASE_MSG_LOAD, persist_sqlite__base_msg_load_cb, NULL, &plg_data);
if(rc) goto fail;
rc = mosquitto_callback_register(plg_id, MOSQ_EVT_PERSIST_RETAIN_MSG_ADD, persist_sqlite__retain_msg_add_cb, NULL, &plg_data);
rc = mosquitto_callback_register(plg_id, MOSQ_EVT_PERSIST_RETAIN_MSG_SET, persist_sqlite__retain_msg_set_cb, NULL, &plg_data);
if(rc) goto fail;
rc = mosquitto_callback_register(plg_id, MOSQ_EVT_PERSIST_RETAIN_MSG_DELETE, persist_sqlite__retain_msg_remove_cb, NULL, &plg_data);
if(rc) goto fail;
@@ -145,7 +145,7 @@ int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt *options, int
mosquitto_callback_unregister(plg_id, MOSQ_EVT_PERSIST_BASE_MSG_ADD, persist_sqlite__base_msg_add_cb, NULL);
mosquitto_callback_unregister(plg_id, MOSQ_EVT_PERSIST_BASE_MSG_DELETE, persist_sqlite__base_msg_remove_cb, NULL);
mosquitto_callback_unregister(plg_id, MOSQ_EVT_PERSIST_BASE_MSG_LOAD, persist_sqlite__base_msg_load_cb, NULL);
mosquitto_callback_unregister(plg_id, MOSQ_EVT_PERSIST_RETAIN_MSG_ADD, persist_sqlite__retain_msg_add_cb, NULL);
mosquitto_callback_unregister(plg_id, MOSQ_EVT_PERSIST_RETAIN_MSG_SET, persist_sqlite__retain_msg_set_cb, NULL);
mosquitto_callback_unregister(plg_id, MOSQ_EVT_PERSIST_RETAIN_MSG_DELETE, persist_sqlite__retain_msg_remove_cb, NULL);
mosquitto_callback_unregister(plg_id, MOSQ_EVT_PERSIST_CLIENT_ADD, persist_sqlite__client_add_cb, NULL);
mosquitto_callback_unregister(plg_id, MOSQ_EVT_PERSIST_CLIENT_DELETE, persist_sqlite__client_remove_cb, NULL);

View File

@@ -343,7 +343,7 @@ static int retain_restore(struct mosquitto_sqlite *ms)
}
store_id = (uint64_t)sqlite3_column_int64(stmt, 1);
rc = mosquitto_persist_retain_msg_add(topic, store_id);
rc = mosquitto_persist_retain_msg_set(topic, store_id);
if(rc == MOSQ_ERR_SUCCESS){
count++;
}else{

View File

@@ -23,7 +23,7 @@ Contributors:
#include "mosquitto_broker.h"
#include "persist_sqlite.h"
int persist_sqlite__retain_msg_add_cb(int event, void *event_data, void *userdata)
int persist_sqlite__retain_msg_set_cb(int event, void *event_data, void *userdata)
{
struct mosquitto_evt_persist_retain_msg *ed = event_data;
struct mosquitto_sqlite *ms = userdata;
@@ -31,19 +31,19 @@ int persist_sqlite__retain_msg_add_cb(int event, void *event_data, void *userdat
UNUSED(event);
if(sqlite3_bind_text(ms->retain_msg_add_stmt, 1, ed->topic, (int)strlen(ed->topic), SQLITE_STATIC) == SQLITE_OK
&& sqlite3_bind_int64(ms->retain_msg_add_stmt, 2, (int64_t)ed->store_id) == SQLITE_OK
if(sqlite3_bind_text(ms->retain_msg_set_stmt, 1, ed->topic, (int)strlen(ed->topic), SQLITE_STATIC) == SQLITE_OK
&& sqlite3_bind_int64(ms->retain_msg_set_stmt, 2, (int64_t)ed->store_id) == SQLITE_OK
){
ms->event_count++;
rc = sqlite3_step(ms->retain_msg_add_stmt);
rc = sqlite3_step(ms->retain_msg_set_stmt);
if(rc == SQLITE_DONE){
rc = MOSQ_ERR_SUCCESS;
}else{
rc = MOSQ_ERR_UNKNOWN;
}
}
sqlite3_reset(ms->retain_msg_add_stmt);
sqlite3_reset(ms->retain_msg_set_stmt);
return rc;
}

View File

@@ -30,7 +30,7 @@ _mosquitto_persist_client_msg_add
_mosquitto_persist_client_msg_delete
_mosquitto_persist_client_msg_update
_mosquitto_persist_client_update
_mosquitto_persist_retain_msg_add
_mosquitto_persist_retain_msg_set
_mosquitto_persist_retain_msg_delete
_mosquitto_plugin_set_info
_mosquitto_property_add_binary

View File

@@ -31,7 +31,7 @@
mosquitto_persist_client_msg_delete;
mosquitto_persist_client_msg_update;
mosquitto_persist_client_update;
mosquitto_persist_retain_msg_add;
mosquitto_persist_retain_msg_set;
mosquitto_persist_retain_msg_delete;
mosquitto_plugin_set_info;
mosquitto_property_add_binary;

View File

@@ -177,7 +177,7 @@ struct plugin__callbacks{
struct mosquitto__callback *persist_base_msg_add;
struct mosquitto__callback *persist_base_msg_delete;
struct mosquitto__callback *persist_base_msg_load;
struct mosquitto__callback *persist_retain_msg_add;
struct mosquitto__callback *persist_retain_msg_set;
struct mosquitto__callback *persist_retain_msg_delete;
};
@@ -871,7 +871,7 @@ void plugin_persist__handle_client_msg_update(struct mosquitto *context, const s
void plugin_persist__handle_client_msg_clear(struct mosquitto *context, uint8_t direction);
void plugin_persist__handle_base_msg_add(struct mosquitto_base_msg *base_msg);
void plugin_persist__handle_base_msg_delete(struct mosquitto_base_msg *base_msg);
void plugin_persist__handle_retain_msg_add(struct mosquitto_base_msg *base_msg);
void plugin_persist__handle_retain_msg_set(struct mosquitto_base_msg *base_msg);
void plugin_persist__handle_retain_msg_delete(struct mosquitto_base_msg *base_msg);
/* ============================================================

View File

@@ -55,8 +55,8 @@ static const char *get_event_name(int event)
return "persist-base-msg-delete";
case MOSQ_EVT_PERSIST_BASE_MSG_LOAD:
return "persist-base-msg-load";
case MOSQ_EVT_PERSIST_RETAIN_MSG_ADD:
return "persist-retain-msg-add";
case MOSQ_EVT_PERSIST_RETAIN_MSG_SET:
return "persist-retain-msg-set";
case MOSQ_EVT_PERSIST_RETAIN_MSG_DELETE:
return "persist-retain-msg-delete";
case MOSQ_EVT_PERSIST_CLIENT_ADD:
@@ -147,8 +147,8 @@ static struct mosquitto__callback **plugin__get_callback_base(struct mosquitto__
return &security_options->plugin_callbacks.persist_base_msg_delete;
case MOSQ_EVT_PERSIST_BASE_MSG_LOAD:
return &security_options->plugin_callbacks.persist_base_msg_load;
case MOSQ_EVT_PERSIST_RETAIN_MSG_ADD:
return &security_options->plugin_callbacks.persist_retain_msg_add;
case MOSQ_EVT_PERSIST_RETAIN_MSG_SET:
return &security_options->plugin_callbacks.persist_retain_msg_set;
case MOSQ_EVT_PERSIST_RETAIN_MSG_DELETE:
return &security_options->plugin_callbacks.persist_retain_msg_delete;
default:

View File

@@ -349,7 +349,7 @@ void plugin_persist__handle_base_msg_delete(struct mosquitto_base_msg *msg)
}
void plugin_persist__handle_retain_msg_add(struct mosquitto_base_msg *msg)
void plugin_persist__handle_retain_msg_set(struct mosquitto_base_msg *msg)
{
struct mosquitto_evt_persist_retain_msg event_data;
struct mosquitto__callback *cb_base;
@@ -363,8 +363,8 @@ void plugin_persist__handle_retain_msg_add(struct mosquitto_base_msg *msg)
event_data.store_id = msg->db_id;
event_data.topic = msg->topic;
DL_FOREACH(opts->plugin_callbacks.persist_retain_msg_add, cb_base){
cb_base->cb(MOSQ_EVT_PERSIST_RETAIN_MSG_ADD, &event_data, cb_base->userdata);
DL_FOREACH(opts->plugin_callbacks.persist_retain_msg_set, cb_base){
cb_base->cb(MOSQ_EVT_PERSIST_RETAIN_MSG_SET, &event_data, cb_base->userdata);
}
}

View File

@@ -71,7 +71,7 @@ int retain__init(void)
return MOSQ_ERR_SUCCESS;
}
int mosquitto_persist_retain_msg_add(const char *topic, uint64_t base_msg_id)
int mosquitto_persist_retain_msg_set(const char *topic, uint64_t base_msg_id)
{
struct mosquitto_base_msg *base_msg;
int rc = MOSQ_ERR_UNKNOWN;
@@ -157,7 +157,8 @@ int retain__store(const char *topic, struct mosquitto_base_msg *base_msg, char *
#endif
if(retainhier->retained){
if(persist && retainhier->retained->topic[0] != '$'){
if(persist && retainhier->retained->topic[0] != '$' && base_msg->payloadlen == 0){
/* Only delete if another retained message isn't replacing this one */
plugin_persist__handle_retain_msg_delete(retainhier->retained);
}
db__msg_store_ref_dec(&retainhier->retained);
@@ -173,7 +174,7 @@ int retain__store(const char *topic, struct mosquitto_base_msg *base_msg, char *
db__msg_store_ref_inc(retainhier->retained);
if(persist && retainhier->retained->topic[0] != '$'){
plugin_persist__handle_base_msg_add(retainhier->retained);
plugin_persist__handle_retain_msg_add(retainhier->retained);
plugin_persist__handle_retain_msg_set(retainhier->retained);
}
#ifdef WITH_SYS_TREE
db.retained_count++;

View File

@@ -227,7 +227,7 @@ void context__add_to_by_id(struct mosquitto *context)
}
}
void plugin_persist__handle_retain_msg_add(struct mosquitto_base_msg *msg)
void plugin_persist__handle_retain_msg_set(struct mosquitto_base_msg *msg)
{
UNUSED(msg);
}

View File

@@ -198,7 +198,7 @@ void plugin_persist__handle_base_msg_delete(struct mosquitto_base_msg *msg)
{
UNUSED(msg);
}
void plugin_persist__handle_retain_msg_add(struct mosquitto_base_msg *msg)
void plugin_persist__handle_retain_msg_set(struct mosquitto_base_msg *msg)
{
UNUSED(msg);
}

View File

@@ -13,7 +13,7 @@ struct mosquitto_db{
};
struct mosquitto_msg_store{
struct mosquitto_base_msg{
};
@@ -95,12 +95,12 @@ ssize_t net__write(struct mosquitto *mosq, const void *buf, size_t count)
return 1;
}
void plugin_persist__handle_retain_add(struct mosquitto_msg_store *msg)
void plugin_persist__handle_retain_set(struct mosquitto_base_msg *msg)
{
UNUSED(msg);
}
void plugin_persist__handle_retain_remove(struct mosquitto_msg_store *msg)
void plugin_persist__handle_retain_remove(struct mosquitto_base_msg *msg)
{
UNUSED(msg);
}