Closed mamokarz closed 3 years ago
Agree, this is more a POC than a final user code. For the final version, we are considering a deep redesign, removing some unnecessary codes and creating some code generators for interfaces and wrappers. We can sync about it, I'll be glad to explain the main concept of DCF and have your feedback.
In reply to: 598059139 [](ancestors = 598059139)
Let's first make clear that "interface version" is different than "implementation version".
Basically the wrapper shall contain the version of the interface in the name, so if we have 2 codes that export the same interface but in different versions, the compiler will be able to compile and link it. Beyond the interface version, there is the implementation version, which means that we may have 2 different codes that implement the same interface version. In this case, the IPC only allows one of this code to run in the device, so to install a new version of the implementation of an interface, developers shall uninstall the old one first.
For example, math_1_producer_1.c is the implementation version 1 (producer_1) of the interface version 1 (math_1). We may have math_2_producer_1.c, implementation version 1 of the interface version 2, and math_1_producer_2.c, implementation version 2 of the interface version 1. In this case, developers may have math_1_producer_1.c and math_2_producer_1.c running in parallel, but not math_1_producer_1.c and math_1_producer_2.c.
In reply to: 586016263 [](ancestors = 586016263)