[Asterisk-code-review] vector: Traversal, retrieval, insert and locking enhancements (asterisk[13])

George Joseph asteriskteam at digium.com
Mon May 4 14:06:57 CDT 2015


George Joseph has posted comments on this change.

Change subject: vector:  Traversal, retrieval, insert and locking enhancements
......................................................................


Patch Set 5:

> > > I don't think there should be a rwlock version of the vector
 > > > macros.  This just leads to an explosion of vector macro
 > flavors
 > > > just like the linked list versions.
 > > >
 > > > Since the vector implementation is entirely done by macro you
 > can
 > > > easily use any external locking mechanism required.  You can
 > also
 > > > control how long to hold the lock over a group of vector
 > > > operations.
 > >
 > > In order to save time and effort someone needs to start putting
 > > comments in unliked things saying DON'T FOLLOW THIS PATTERN.
 > >
 > > The reason I added the locking was to make migration from
 > > containers easier.  I don't see the harm.  I'm not forcing anyone
 > > to use them.
 > 
 > I don't think anyone had ever articulated this objection before, so
 > your consternation is appropriate.
 > 
 > To be fair, I understand Richard's point about not wanting to
 > explode the vector macros. At the same time, our previous idiom was
 > certainly to embed the locks directly within the data structure
 > and/or macros defining them. That certainly has been the case with
 > the linkedlists, doubly linkedlists, and - while well abstracted
 > away - the ao2 containers as well.
 > 
 > While I'm not sure we will really need the locking variants of the
 > vector, I'm not against them being added - particularly if there is
 > a use case for them.

My use case is replacing the sorcery_wizard container in each object_type with a vector so I can maintain order and easily insert a new wizard at a specific place and I'd rather not have to do the locking myself each place the vector is used.

-- 
To view, visit https://gerrit.asterisk.org/339
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I2e07ecc709d2f5f91bcab8904e5e9340609b00e0
Gerrit-PatchSet: 5
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: George Joseph <george.joseph at fairview5.com>
Gerrit-Reviewer: Corey Farrell <git at cfware.com>
Gerrit-Reviewer: George Joseph <george.joseph at fairview5.com>
Gerrit-Reviewer: Matt Jordan <mjordan at digium.com>
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
Gerrit-HasComments: No



More information about the asterisk-code-review mailing list