Encapsulate the bridge functionality a bit more into the bridge.c file unless needed elsewhere.

Signed-off-by: Weston Schmidt <Weston_Schmidt@alumni.purdue.edu>
pull/2128/head
Weston Schmidt 5 years ago
parent fd036b9435
commit f86ae70f92
No known key found for this signature in database
GPG Key ID: 66902D96AAE48CA0

@ -58,6 +58,11 @@ Contributors:
static void bridge__backoff_step(struct mosquitto *context);
static void bridge__backoff_reset(struct mosquitto *context);
#if defined(__GLIBC__) && defined(WITH_ADNS)
static int bridge__connect_step1(struct mosquitto *context);
static int bridge__connect_step2(struct mosquitto *context);
#endif
static void bridge__packet_cleanup(struct mosquitto *context);
static struct mosquitto *bridge__new(struct mosquitto__bridge *bridge)
{
@ -192,7 +197,7 @@ int bridge__set_tcp_keepalive(struct mosquitto *context)
}
#if defined(__GLIBC__) && defined(WITH_ADNS)
int bridge__connect_step1(struct mosquitto *context)
static int bridge__connect_step1(struct mosquitto *context)
{
int rc;
char *notification_topic;
@ -307,7 +312,7 @@ int bridge__connect_step1(struct mosquitto *context)
}
int bridge__connect_step2(struct mosquitto *context)
static int bridge__connect_step2(struct mosquitto *context)
{
int rc;
@ -678,6 +683,18 @@ void bridge__reload(void)
}
}
void bridge__db_cleanup(void)
{
int i;
for(i=0; i<db.bridge_count; i++){
if(db.bridges[i]){
context__cleanup(db.bridges[i], true);
}
}
mosquitto__free(db.bridges);
}
void bridge__cleanup(struct mosquitto *context)
{
@ -751,7 +768,7 @@ void bridge__cleanup(struct mosquitto *context)
}
void bridge__packet_cleanup(struct mosquitto *context)
static void bridge__packet_cleanup(struct mosquitto *context)
{
struct mosquitto__packet *packet;
if(!context) return;

@ -445,9 +445,6 @@ int pid__write(void)
int main(int argc, char *argv[])
{
struct mosquitto__config config;
#ifdef WITH_BRIDGE
int i;
#endif
int rc;
#ifdef WIN32
SYSTEMTIME st;
@ -599,12 +596,7 @@ int main(int argc, char *argv[])
context__cleanup(ctxt, true);
}
#ifdef WITH_BRIDGE
for(i=0; i<db.bridge_count; i++){
if(db.bridges[i]){
context__cleanup(db.bridges[i], true);
}
}
mosquitto__free(db.bridges);
bridge__db_cleanup();
#endif
context__free_disused();

@ -448,15 +448,13 @@ struct mosquitto_db{
struct mosquitto *contexts_for_free;
#ifdef WITH_BRIDGE
struct mosquitto **bridges;
int bridge_count;
#endif
struct clientid__index_hash *clientid_index_hash;
struct mosquitto_msg_store *msg_store;
struct mosquitto_msg_store_load *msg_store_load;
time_t now_s; /* Monotonic clock, where possible */
time_t now_real_s; /* Read clock, for measuring session/message expiry */
#ifdef WITH_BRIDGE
int bridge_count;
#endif
int msg_store_count;
unsigned long msg_store_bytes;
char *config_file;
@ -733,13 +731,13 @@ void log__internal(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
#ifdef WITH_BRIDGE
void bridge__start_all(void);
void bridge__reload(void);
void bridge__db_cleanup(void);
void bridge__cleanup(struct mosquitto *context);
int bridge__connect(struct mosquitto *context);
int bridge__connect_step1(struct mosquitto *context);
int bridge__connect_step2(struct mosquitto *context);
#if defined(__GLIBC__) && defined(WITH_ADNS)
int bridge__connect_step3(struct mosquitto *context);
#endif
int bridge__on_connect(struct mosquitto *context);
void bridge__packet_cleanup(struct mosquitto *context);
void bridge_check(void);
int bridge__register_local_connections(void);
int bridge__add_topic(struct mosquitto__bridge *bridge, const char *topic, enum mosquitto__bridge_direction direction, uint8_t qos, const char *local_prefix, const char *remote_prefix);

Loading…
Cancel
Save