On Fri, Jul 29, 2016 at 03:17:19PM -0700, Jarno Rajahalme wrote:
> 
> > On Jul 29, 2016, at 12:46 PM, Ben Pfaff <b...@ovn.org> wrote:
> > 
> > On Thu, Jul 28, 2016 at 05:55:58PM -0700, Jarno Rajahalme wrote:
> >> Define rule_collection in terms of a new ofproto_collection.  This
> >> makes it easier to add other types of collections later.
> >> 
> >> This patch makes no functional changes.
> >> 
> >> Signed-off-by: Jarno Rajahalme <ja...@ovn.org>
> > 
> > Is there anything ofproto-specific about these collections?  They might
> > be appropriate as a generic data structure in lib/.
> > 
> 
> There is a small dependency for the _ref() and _unref() functions.
> I added lib/object-collection.[ch] for the generic parts, and kept the 
> ofproto dependent parts in ofproto-provider.h.
> 
> > At some point it becomes easier to implement this kind of thing as an
> > #include file than as a long \-delimited macro.  Then you also get the
> > benefit that you can define macros in the #include file.
> 
> Elaborate a bit, I don't get what you mean.

Instead of defining with
        #define TEMPLATE(A, B, C) \
            ...line 1... \
            ...line 2... \
            ...line 3...
and then using with TEMPLATE(x, y, z) later, you create a file
template.inc that contains:
    ...line 1...
    ...line 2...
    ...line 3...
    #undef A
    #undef B
    #undef C
and use it with
    #define A x
    #define B y
    #define C z
    #include "template.inc"
The advantages are that you don't need ugly \s everywhere and that
template.inc can contain #define and #ifdef and so on.  The
disadvantages are that you need another file and that invocation needs
#defines instead of just some parameters.  It's always a judgment call
for me.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to