command and execute #3
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The lib always sets a Event-UUID in the
SwitchX.executemethod, which will make the command (application & arg) to run in the waiting mode (enqueues toapplications_pending) where as it should have enqueued tocommands_sentfor instantly callback. The lib mistakenly looks for the callback in the commands_sent queue than in the applications_pending, hence it never ends waiting.The change made in this PR will fix this behaviour by not setting Event-UUID inside the method, which leads to pushing the callback in the
commands_sentqueue correctly.If caller indeed want's to wait for the command (
application & arg) to complete, it can either set the Event-UUID explicitly or use a new methodSwitchX.command. For the waiting mode, theSwitchX.my_events(data.conn)must be called first to subscribe to the command (application & arg) execution to complete and make the callback.The name and split of execute and command is inspired by https://gitlab.com/shimaore/esl