On Friday, May 5, 2017 at 5:14:42 AM UTC+10, Alexander Rössler wrote:
>
> Hi Brian,
>
> This is indeed a complex problem which Protobuf does not solve out of the 
> box. This problem was one of the reasons why I started the Machinetalk GSL 
> project. The protocol models describe to which Machinetalk message a 
> Protobuf message belongs. 
> https://github.com/machinekoder/machinetalk-gsl
>
> There is also code generator for the documentation in the repository. The 
> generated docs can be found here: 
> https://github.com/machinekoder/machinetalk-doc
>
> If you are more interested in this part of Machinetalk I recommend you to 
> read http://machinekoder.com/machinetalk-explained-part-5-code-generation/
>
> As for the messages in motcmds.proto -> most of the messages aren't in use 
> by any service yet. Michael originally created them for the eventual 
> replacement of NML by Machinetalk.
>

Can you elaborate on the status of MT in terms of replacing NML?
Also what the intent/scope of MT is in terms of replacing NML?

For example:
Is the goal to make MT messages map as exactly to NML messages? Or are you 
retiring some NML messages?
Is the goal to make MT live alongside NML or will there be a hard cut over 
from NML to MT?

Are the requirements for MT settled?

If it is not too late, can I ask that the use of required elements in the 
protobuf messages be reconsidered?

Specifically, in the light of the comments from the protobuf2 dev that it 
was a mistake, and caused pain at Google:

https://capnproto.org/faq.html#how-do-i-make-a-field-required-like-in-protocol-buffers
 
I'd suggest that if Google struggled with this we are guaranteed that our 
users will find this painful.  
Especially if the one of the use case is that users be able to hook up 
various MK components/machines from time to time.

I've developed some thoughts on the MT requirements, but haven't pushed 
them because they are incomplete and I'd rather show a PoC.
If anyone wants to review or contribute let me know and I'll push more 
regularly.


> Best regards,
> Alexander
>
> Am Montag, 1. Mai 2017 12:22:47 UTC-5 schrieb Brian Schousek:
>>
>> I understand the motivation and appreciate the beauty of the messaging 
>> approach. I seem to be missing something that is probably obvious in the 
>> mechanics however. I can understand individual elements of 
>> publish/subscribe, encode/decode, the anddemo at 
>> https://github.com/machinekit/pymachinetalk 
>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmachinekit%2Fpymachinetalk&sa=D&sntz=1&usg=AFQjCNHgC5O9RyQQVRugtXpbQ2mrYp91Mw>
>>  
>> makes sense to me, etc.
>>
>
Is this considered a canonical example of usage or more of a "hello world" 
of MT?

Best wishes

Hedge

I don't understand how to figure out how to initiate a channel containing a 
>> given message. For example, I would like to monitor the messages as defined 
>> in motcmds.proto 
>> <https://github.com/machinekit/machinetalk-protobuf/blob/master/src/machinetalk/protobuf/motcmds.proto>.
>>  
>> Are these message streams by definition flying around somewhere that I just 
>> need to listen to? If so, where does it happen so I can look at the code 
>> and further understand. Or perhaps these messages need to be turned on 
>> somewhere? Or perhaps the messages are just defined here and it is left as 
>> an exercise to the coder to generate them?
>>
>> In short, I feel like I understand the overarching intent, and also 
>> understand much of the underlying detail, but I am not able to figure out 
>> the connective tissue between the two. Would somebody please point me 
>> towards enlightenment?
>>
>> Brian
>>
>

-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
"Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to