Re: [I] Questions about manifest.c (celix)

2023-08-18 Thread via GitHub


PengZheng closed issue #527: Questions about manifest.c
URL: https://github.com/apache/celix/issues/527


-- 
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



Re: Questions

2020-05-03 Thread Pepijn Noltes
Hi Brian,


On Fri, May 1, 2020 at 5:02 PM Brian Michael  wrote:
>
> Hello,
>
> I was curious about some of the capabilities of Celix. In particular the RSA 
> and PubSub implementations. Could you inform me of the following items:
> - Is Celix setup to perform PubSub between Java and C/C++? I see the 
> documentation says it is setup similar to the RSA implementation, however I’m 
> unsure if the Amdatu remote bundles can be used here.
Celix RSA has been designed to be compatible with Amdatu Remote
Services. In the current situation it is not compatible anymore.
Although we are busy - at the company I am working at - to align this
again, the changes need to be made for Amdatu have not been donated
back yet.

> - Can Celix pass streams between Java and C/C++ through RSA?
I am not sure what you mean with streams, but the idea is that Java
class and C structs should be transferable between C <-> Java.

> - How are C structs handled when passed from Celix to Java? I imagine 
> this is transformed to classes but would like verification.
C struct are handled by the serialization services. Currently Celix
uses the approach of descriptor files combined with libffi. Descriptor
files are concise files describing the memory layout of a C struct and
this is used in combination with libffi (foreign function interface)
[1] to create a short of reflection capabilities in C. This is done in
the celix library libdfi (dynamic function interface).

An important part that is missing and currently not part of Celix is
generating C structs (header files) and their compatible descriptor
files, so that they can be used for remote service / pubsub. Again we
- at the company I am working at - are busy creating something for
this, but this is also not publicly available yet. Note that this
solution does not only generation C struct, but also a matching Java
classes.

There is also a discussion going whether we should continue with the
heavy focus on descriptors or move more towards supporting custom
serialisation services. The latter is maybe also a way to more easily
incorporate existing code generation & serialization options (think
avro, protobuf, etc) [2].

> - Has Avro testing been performed on the Java side for RSA between C to 
> Java and how is that set up?

No, not yet. Again - at the company I am working with - we are busy
with this. Currently we work with JSON, but we want to move towards
avro.


Probably not really the answers you were hoping for, but hopefully
this gives a better idea were we stand.

[1] https://sourceware.org/libffi/
[2] https://github.com/apache/celix/pull/185


Greetings,
Pepijn


Questions

2020-05-01 Thread Brian Michael
Hello,

I was curious about some of the capabilities of Celix. In particular the RSA 
and PubSub implementations. Could you inform me of the following items:
- Is Celix setup to perform PubSub between Java and C/C++? I see the 
documentation says it is setup similar to the RSA implementation, however I’m 
unsure if the Amdatu remote bundles can be used here. 
- Can Celix pass streams between Java and C/C++ through RSA?
- How are C structs handled when passed from Celix to Java? I imagine this 
is transformed to classes but would like verification. 
- Has Avro testing been performed on the Java side for RSA between C to 
Java and how is that set up?

Thanks,
Brian

Sent from my iPhone