summaryrefslogtreecommitdiffstats
path: root/src/java/jogamp/common/util/locks
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-08-22 23:39:58 +0200
committerSven Gothel <[email protected]>2013-08-22 23:39:58 +0200
commit30475c6bbeb9a5d48899b281ead8bb305679028d (patch)
treeb3c0875107448e13d0715bc9fa935f6f169b78a0 /src/java/jogamp/common/util/locks
parent77687335f7fae3727c902c678b9525e6f4631da1 (diff)
Add Ringbuffer interface an 2 implementations, synchronized (locking) SyncedRingbuffer and lock-free LFRingbuffer.
SyncedRingbuffer is moved from JOGL to GlueGen, and generalized w/ common interface Ringbuffer to allow testing diff. implementations. - Added Ringbuffer.AllocEmptyArray factory interface, allowing to pass a constructor to construct the generic array. - Added functionality is growBuffer(..), allowing to either grow a full or empty buffer, using Ringbuffer.AllocEmptyArray. - Removed explicit 'clearRef' at get*(..), always clear the taken reference for better interface generalization. - Added LFRingbuffer, exposing lock-free get*(..) and put*(..) methods using the 'Always Keep One Slot Open' pattern using the read/write index as barriers only. - Ctor's copy an optional passed user array into the internal array, utilizing Ringbuffer.AllocEmptyArray. - Added unit tests.
Diffstat (limited to 'src/java/jogamp/common/util/locks')
0 files changed, 0 insertions, 0 deletions