Open Klaim opened 2 years ago
Right now I'm looking at the ownership model with Johan (in parallel but we will sync at some point), and the shared library support, as I believe it's mandatory to help with integrating in lilbmamba.
Shared library support is done: https://github.com/mamba-org/powerloader/pull/112
We use shared_ptr
in two places -- for Mirrors and DownloadTargets. I think for Mirror
it might be easy enough to get rid of the shared pointer, but not sure about DownloadTargets. At least if we also want to allow users to store them independently.
Anyways, I don't "mind" them so much since it's clearly not performance critical.
Anyways, I don't "mind" them so much since it's clearly not performance critical.
That point is more about correctness and ease of reasoning (so that correctness can be "read") than performance, which is why "value semantics" is often pushed a lot against any kind of pointer and reference semantics. I'll try the improvements on that side as soon as I'm done with the closing of interfaces. šš½
I will list here the issues I have noted to work on and discussed with @wolfv and @JohanMabille, priorities are mostly on integration into mamba and correctness. Most of these issues imply reviews, discovery and discussion.
Important for helping with integration in Mamba:
libpowerloader
as shared library support: currently missing explicit symbol import/export markers for correct generation of dlls on windows and potentially constraint the ABI surface and binary size of shared libraries on other platforms.libmamba
andlibpowerloader
, there are several ways to do this and it's possible it is not worth it for now.libpowerloader
: if issues with unicode are possible, we might need to use https://github.com/mamba-org/mamba/pull/1665 inlibpowerloader
too.Code Quality Improvements:
Note: I named this issue quickly, not sure if that's a good name.
Powerloader integration in mamba: https://github.com/mamba-org/mamba/pull/1503