Skip to content

Conversation

baldwin-law
Copy link
Contributor

When libuv is used as the underlying event-driven mechanism, the keepalive operation between the MQTT client and the server fails. The reason is that the keepalive operation should send a PINGREQ, but in fact, it is not sent. The problem lies in the fact that the modification of the underlying I-O-related events is not triggered, resulting in the inability to trigger I/O events. Through testing, modifying the mux_substream flag can solve this problem.

@lws-team
Copy link
Member

lws-team commented Nov 8, 2024

Thanks... does it make trouble to change the test to a runtime one like if (lws_check_opt(context->options, LWS_SERVER_OPTION_LIBUV)) ? The reason is it's possible to build lws with the LIBUV config, but actually select some other event loop at runtime.

@baldwin-law
Copy link
Contributor Author

Of course, your approach is more elegant. I'll push the changes.

Copy link

@LeB134 LeB134 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants