-
Notifications
You must be signed in to change notification settings - Fork 35
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
introduce lock, unlock, islocked, isready, get! and deprecate get, request, release #93
Conversation
Codecov Report
@@ Coverage Diff @@
## master #93 +/- ##
==========================================
+ Coverage 98.06% 98.17% +0.11%
==========================================
Files 10 10
Lines 258 274 +16
==========================================
+ Hits 253 269 +16
Misses 5 5
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
This takes care of some of the points discussed in #91. In particular, it does NOT implement No functionality is removed, but The failure of the tests on nightly does not seem related to this PR. I will plan to merge in a few days unless someone requests more time for review. |
ca39b32
to
c359dfa
Compare
the nightly failures are due to JuliaLang/julia#50710 |
c359dfa
to
60963ca
Compare
b6eda7f
to
fbf0d9c
Compare
fbf0d9c
to
0c4a592
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.
Looks good. So essentially, you are treating resources as if they were Julia channels and extending the base functions for these. Are there any benefits besides renaming the functions? How does this help integrating with other packages if resources are not Channels?
Resources/Containers are treated as locks and Stores are treaded as channels. The value is that now I can have a downstream library that can switch between ConcurrentSim and controlling real devices / networks, with almost the same API (the real device / network controller also uses locks and channels). Not everything translates well yet, e.g. I still need to do a lot of testing to ensure multithreading works as expected, etc. but that is a convenient first step. |
Although, I am not 100% sure on this yet, so I will not be merging it until I have the downstream library actually do all the stuff I described in the previous comment. |
Sounds like a good use case for this change. |
@hdavid16 , I undid some of the deprecations. All the new features are still in, but |
I merged without squashing because each commit was a relatively clearly separate steps. In case we need to undo / cherrypick a single change, this should make it a bit easier. |
No description provided.