please avoid 'naked new', and be explicit about ownership, eg. why not auto viewContext = std::make_unique<EventContext>( getContext().evt(), getContext().slot() ); and on transfer of ownership either std::move or .release() explicitly...
0 of 1 checklist item completed
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Important to note that "whole event" EventContexts are created and deleted by event loop managers, not the scheduler, and are passed around as bare pointers. Either this change will need to stay factorised from that (may not be possible) or will need to cover them too.
Also note that "sub slot" EventContexts can escape the scheduler via the handling for failed events, so will need to remember to catch them.
Have now got !732 (merged) working nicely with unique pointers. At this stage probably worth discussing whether to go further and replace all EventContext bare pointers in the IScheduler interface with unique pointers.
Also could remove passing of bare pointers in AvalancheScheduler private methods, similar to !727 (merged)