mirror of
https://github.com/eclipse/mosquitto.git
synced 2025-05-08 08:40:13 +08:00
Fix large packets not being completely published to slow clients.
Also fix bridge connection not relinquishing POLLOUT after messages are sent. Closes #1977. Thanks to marchaesen. Closes #1979. Thanks to GorazdKikelj.
This commit is contained in:
parent
9d3732a62d
commit
b2da540c64
@ -1,6 +1,10 @@
|
||||
Broker:
|
||||
- Fix `auth_method` not being provided to the extended auth plugin event.
|
||||
Closes #1975.
|
||||
- Fix large packets not being completely published to slow clients.
|
||||
Closes #1977.
|
||||
- Fix bridge connection not relinquishing POLLOUT after messages are sent.
|
||||
Closes #1979.
|
||||
|
||||
|
||||
2.0.4 - 2020-12-22
|
||||
|
@ -38,6 +38,11 @@ enum mosquitto_client_state mosquitto__get_state(struct mosquitto *mosq)
|
||||
return mosq_cs_new;
|
||||
}
|
||||
|
||||
int mux__remove_out(struct mosquitto *mosq)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
ssize_t net__read(struct mosquitto *mosq, void *buf, size_t count)
|
||||
{
|
||||
return 0;
|
||||
|
@ -164,6 +164,7 @@ int packet__queue(struct mosquitto *mosq, struct mosquitto__packet *packet)
|
||||
lws_callback_on_writable(mosq->wsi);
|
||||
return MOSQ_ERR_SUCCESS;
|
||||
}else{
|
||||
mux__add_out(mosq);
|
||||
return packet__write(mosq);
|
||||
}
|
||||
# else
|
||||
@ -314,6 +315,9 @@ int packet__write(struct mosquitto *mosq)
|
||||
|
||||
#ifdef WITH_BROKER
|
||||
mosq->next_msg_out = db.now_s + mosq->keepalive;
|
||||
if(mosq->current_out_packet == NULL){
|
||||
mux__remove_out(mosq);
|
||||
}
|
||||
#else
|
||||
pthread_mutex_lock(&mosq->msgtime_mutex);
|
||||
mosq->next_msg_out = mosquitto_time() + mosq->keepalive;
|
||||
|
Loading…
x
Reference in New Issue
Block a user