axel22/concurrent-unrolled-queue — pull request #1 by didot (2012-05-03 07:53:25+00:00)
Title: initial code base

I added a pseudocode and a code base on the repository.

I run too many projects at the same time, this year :-( I still hope to make up for it.

The concurrent unrolled queue has no parent class for now. I am not quite sure what it should inherit from. Based on what i've seen from Queue, it could «inherit» from: GenericTraversableTemplate, maybe LinearSeq (i'm not quite sure about this one, as it asks for a length, while the collection can be modified - and shortened for instance - before an apply... Furthermore, a length computable in O(1) would likely require some form of synchronization), same goes for LinearSeqOptimized, or even Seq. Iterable would maybe do the job, though.

When working on a node, my algorithm always starts from index 0, but i think i can add hints by the end of the day. The array inside a Node is an array of Anys (i might want to change that to AnyRef). I had to do this because of the special DELETED value (that i think we really need).The code needs more testing for now, i am not totally sure of all the cases.

The pseudo code is slightly out of date, but the main idea remains present