Merge branch 'schmidtw-bridge-work' into develop

pull/2215/head
Roger Light 4 years ago
commit 8e8a0080a1

@ -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)
{
@ -191,7 +196,7 @@ static 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;
@ -306,7 +311,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;
@ -693,6 +698,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)
{
@ -766,7 +783,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;

@ -237,9 +237,6 @@ static void report_features(void)
int main(int argc, char *argv[])
{
struct mosquitto__config config;
#ifdef WITH_BRIDGE
int i;
#endif
int rc;
#ifdef WIN32
SYSTEMTIME st;
@ -392,12 +389,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;
@ -740,13 +738,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