PengZheng commented on issue #509:
URL: https://github.com/apache/celix/issues/509#issuecomment-1495322259

   > - [ ] Change bundle cache dir scheme in v3
   
   It reminds me of the brainstorm we had in 
https://github.com/apache/celix/pull/441#issuecomment-1236383556
   
   Now that #476 splits the cache and storage, the most straightforward way of 
supporting efficient sharing of bundles between multiple Celix instances is to 
add support for uncompressed bundle. This way, each framework instance has its 
own bundle cache like before, but for shared bundles, we extract them to 
someplace outside of bundle cache (maybe make them read-only), and then make 
symbolic links within the bundle cache to uncompressed shared bundles.
   
   For containered/sandboxed APPs, we can mount folder containing uncompressed 
bundles read-only into the container/sandbox, and include the mount point into 
the bundle path, so that the framework within the container/sandbox can find 
them.
   
   Our new `celix_utils_deleteDirectory` deals with symbolic links correctly, 
see `TEST_F(FileUtilsTestSuite, DeleteSymbolicLinkToDirectory)` in #476.
   
   > - [ ] Remove FRAMEWORK_EXPORT (only needed for windows) 
   It's also needed to perform binary footprint optimization for shared object. 
See #442 
   It's especially important for C++ bundles if they were to be deployed in 
devices with limited storage.
   IMHO, we should use it universally in the whole Celix project, and encourage 
(and facilitate) our users to do the same.
   
   > - [ ] Maybe (TBD) remove pubsub admins from celix (pubsub is not part of 
the OSGi specifications)
   
   But OSGi does have Event Admin. The only problem I see with PSA is that it 
does not support zero-overhead in process communication like RSA: one socket 
per subscriber is too expensive for communication within the same process. 
   
   PSA(Event Admin)/RSA represent two typical inter-component communication 
styles. We could add support for Event Admin, which both support zero overhead 
in-process and efficient inter-process communication, or we add support of 
zero-overhead in-process communication to PSA and rename it to Event Admin.
   
   Also it's worth noting that now service discovery for RSA(Event Admin)/PSA 
can be unified easily using dns-sd. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to