The current FastList implementation stops a scan when it reaches a node
that was the tail at a critical point in the head() call that started
the scan.
As far as I can tell, the benefit is that it ensures that every scan
reaches a finite set of nodes, even if other threads are continually
adding new nodes to the list.
I expect this passes through to the Outrigger JavaSpaces implementation,
ensuring that every search will terminate. Otherwise, a search for a
non-existent entry could go on forever, as long as new entries are being
added as fast as the search processes them.
Is this correct?
I'm interested in this issue because maintaining that property costs
extra logic in IterableFastList. It would be simpler to let the scan go
on until it reaches a node with a null next pointer, indicating the
current end of the list.
Patricia
- Question about JavaSpaces functionality Patricia Shanahan
-