Skip to content
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

Pack of RD lifetimes fixes + auto-binding for task results #466

Merged
merged 3 commits into from
Jan 16, 2024

Conversation

mirasrael
Copy link
Collaborator

Fixes #463 and #460.

List of fixes and improvements:

  1. Added shared Terminated lifetime.
  2. Fixed SequentialLifetimes to not keep on terminate action in parent Lifetime when destroyed.
  3. Fixed Signal to release lambda closure resources on Lifetime termination. It was possible to make cyclic-reference which never releases resources (it only released resources on fire event which may never happen).
  4. Allow attaching shared_ptr to lifetime to prevent issues which callbacks to already destroyed objects because there no explicit references (i.e. from subscriptions in MessageBroker which bounded by lifetime, but only have a raw pointer instead of shared_ptr).
  5. Support auto-binding for call results both client and server-side.
  6. Support call result lifetimes allowing to keep result alive on server as long as it required on client.

…ifetime termination. Fixed SequentialLifetimes to not keep lifetime callback after SequentialLifetimes destroyed.
@mirasrael mirasrael merged commit 2b05bd0 into master Jan 16, 2024
10 checks passed
@mirasrael mirasrael deleted the ab-fix-callback-lifetimes branch January 16, 2024 07:24
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.

rd-cpp: Unlike other Rd implementationsCallback doesn't auto-bind return result.
2 participants