-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve session message injection #2117
Improve session message injection #2117
Conversation
@dotnet-policy-service agree |
8d5092d
to
f96c10c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice feature! But I recommend changing the public API a bit.
1b4cb4c
to
2b1c143
Compare
841fa67
to
026029c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few minor improvements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work 👍
@chkr1011 Thanks! The CI-workflow is not approved yet. It this intentional? |
@chkr1011 Sorry to bother you again, but the CI has failed on the "sign nugets step". :)) |
Hi there!
I'm trying to build a scalable, persistent MQTT server around RabbitMQ, using the MQTTNet server as a frontend.
While doing this, I found that there is currently no proper way to correlate injected QoS 1 messages with the packets received by the
ClientAcknowledgedPublishPacketAsync
event. So, there is no way for me to pass the PUBACK further to RabbitMQ's message acknowledgment.Additionally, I noticed that
DeliverApplicationMessageAsync()
method may hang indefinitely whenMqttPendingMessagesOverflowStrategy.DropNewMessage
is used, because in the case of an output buffer overflow, thepacketBusItem
being awaited is dropped from the queue without the Task'sResult
orException
being set.So, in this PR:
MqttPublishPacket
as a result of message injection methods, to be able to correlate them by packet id later.DeliverApplicationMessageAsync()
method.Thanks for the great project, btw!