diff --git a/src/database.c b/src/database.c index 345c083e..b7a39f9b 100644 --- a/src/database.c +++ b/src/database.c @@ -749,7 +749,7 @@ int db__message_reconnect_reset_outgoing(struct mosquitto_db *db, struct mosquit if(msg->qos > 0){ context->msgs_out.msg_count12++; context->msgs_out.msg_bytes12 += msg->store->payloadlen; - util__decrement_receive_quota(context); + util__decrement_send_quota(context); } switch(msg->qos){ @@ -954,7 +954,9 @@ int db__message_write_inflight_in(struct mosquitto_db *db, struct mosquitto *con if(now > tail->store->message_expiry_time){ /* Message is expired, must not send. */ db__message_remove(db, &context->msgs_in, tail); - util__decrement_send_quota(context); + if(tail->qos > 0){ + util__increment_receive_quota(context); + } continue; } }