You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With this PR we make methods async by changing the swig interface. We suppose the blocking version of the library is not needed, therefore we won't be keeping both versions (blocking and async) unless some users of this library will ask for this explicitly.
@tmalahie could you please check if this works good on your side? Also please note that most of rgb-lib methods should not be called in parallel. In the future we'll add some checks on the rust side to prevent parallel calls to "write" methods.
Hey sorry for the delay in response I was busy on other topics lately.
I like your suggestions of making everything async by default 👍 however I tested it and it doesn't seem to fix the main issue, even though it is async it is still making the main process freeze when I call an RGB function... I think the underlying library runs on the main thread which is what causes everything to hang despite the "asynceness"
Also please note that most of rgb-lib methods should not be called in parallel
For info in my PR I managed to solve this specific question of guaranteeing that everything is still called sequentially. The way it worked is that it only creates one background process for everything, and all the rgblib functions are called within this process. So when you call an rgb function, if there is a previous operation in progress it will wait for it to complete before running the next one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Alternative to #6
With this PR we make methods async by changing the swig interface. We suppose the blocking version of the library is not needed, therefore we won't be keeping both versions (blocking and async) unless some users of this library will ask for this explicitly.
@tmalahie could you please check if this works good on your side? Also please note that most of rgb-lib methods should not be called in parallel. In the future we'll add some checks on the rust side to prevent parallel calls to "write" methods.