asafm commented on PR #21992:
URL: https://github.com/apache/pulsar/pull/21992#issuecomment-1987290286

   Honestly, I'm still completely lost. I'll start with one item I have and 
we'll continue from there:
   
   What I expect from this PIP is that we will explain how to author a function 
that accepts a Message and return a Message or List of Message. 
   In order to do that, first we need types that should be identical in each 
language I will author my function. Types to represent a Message (in), a list 
of Message (out).
   You mentioned serializing to byte[] and from it to something, but I couldn't 
figure out what that type is, and how is it common between all languages?
   
   Side note: This PIP goal is awfully complex. Having the all the high level 
information in this PIP be 15 sentences - well that's quite hard. Unless you 
list pre-require list of reading material which the reader should know before 
starting. I don't recommend it.
   
   I did some reading. It seems that there is something called Component Model. 
This enables you to define in a text file, using a special language they 
invented,  a function, its arguments, and most importantly its types, which can 
be complex data structures. See here: 
https://component-model.bytecodealliance.org/introduction.html. From my 
understanding, we can compile this text file into a set of interfaces in many 
languages (java, C#, Go, ...) and the user authoring a function will pick it 
for their language, and have native types representing `Message` and other 
things we need.
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to