On Fri, Apr 8, 2016 at 9:43 PM, Matjaž Ostroveršnik <[email protected]> wrote:
> I managed to locally extend the mlm server with: > - ability to make out of source builds for cmake > - support for blobs for service interface > - curve support Nice stuff :) I'm writing a book on how the development process for pieces like Malamute works, at scalable-c.com. It's still in progress, but what there already is may help. There are a few ground rules. You've been editing files that were generated, and they quite clearly say so, in their header. When you do this, you are writing throw-away code. This is always the tradeoff with code generation. More power, yet harder to learn. You need to learn two main tools: zproto and zproject. Each has a set of code generators, each producing a set of outputs from one or more input "model" files. It is quite flat, little abstraction, so easy to learn. E.g. to change the client state machine you edit mlm_client.xml. (And again, it says this clearly in the header of mlm_client_engine.inc!) and then you run "make code" to regenerate. The second thing is, one change at a time. Start with the simplest change, get a PR, learn the process, and then move to the next change. Don't come to a project with a large change set, or people will probably refuse it (and that's in our C4 process). If you find a generated file that does not clearly state its origin, tell us and we'll fix it. Cheers, -Pieter _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
