Re: [PATCH 03/14] Introduce simple RedPipeItem class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 08, 2016 at 03:13:48PM -0500, Jonathon Jongsma wrote:
> On Thu, 2016-04-07 at 17:11 -0500, Jonathon Jongsma wrote:
> > From: Christophe Fergeau <cfergeau@xxxxxxxxxx>
> > 
> > This is similar to PipeItem (which is a type id + a RingItem linked list
> > member), except that it's refcounted. A user-defined callback is called
> > when the refcount drops to 0.
> 
> It's not so much "like" a PipeItem -- it actually "contains" a PipeItem or
> "inherits" from PipeItem.

Ok, "This inherits from PipeItem and will act as a base class for
refcounted pipe items."

> 
> > Refcounted is open coded for several classes deriving from PipeItem, so
> 
> I'm unfamiliar with the term "open coded". Is that a reference to the fact that
> the ref/unref functions take a void* argument? If so, I'm not sure that I like
> that idea very much, though I do admit that it probably makes usage a bit more
> convenient...

I think there is some expression meaning that some code is duplicated
every time needed rather than being gathered in a single common place,
but I forgot what it is. Maybe it's 'open coded', maybe it's something
else. What I meant is that with this base class, the refcounting code
will be in a single place rather than being reimplemented in each
derived class. Which also means we have a generic
"red_pipe_item_{ref,unref}" which we can call on all the subclasses
regardless of their types rather than having to use
red_pipe_item_foo_ref, red_pipe_item_bar_ref, ...

> 
> > this base class will help to share this code, and allow to remove some
> > ref/unref virtual functions in some interfaces when we can assume every
> > instance derives from this base class.
> 
> A bit more information about why this class is useful and how it will be used in
> the future would be nice here (I'm sure it will become obvious as I look at
> future patches...)

I think the paragraphs above makes the intent clearer? Or does this need
more  details?

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]