Top Interfaces Classes
[default module]

Package rx.internal.util.unsafe


Interface Summary

Modifier and TypeInterface and Description
public interface
MessagePassingQueue<
the event/message type
M
>

This is a tagging interface for the queues in this library which implement a subset of the Queue interface sufficient for concurrent message passing.

public interface
QueueProgressIndicators

This interface is provided for monitoring purposes only and is only available on queues where it is easy to provide it.

Class Summary

Modifier and TypeClass and Description
pack-priv abstract class
BaseLinkedQueue<
the element type
E
>

A base data structure for concurrent linked queues.

pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
public abstract class
ConcurrentCircularArrayQueue<
the element type
E
>

A concurrent access enabling class used by circular array based queues this class exposes an offset computation method along with differently memory fenced load/store methods into the underlying array.

pack-priv abstract class
public abstract class
public class
MpmcArrayQueue<
type of the element stored in the java.util.Queue
E
>

A Multi-Producer-Multi-Consumer queue based on a ConcurrentCircularArrayQueue.

pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
public class
MpscLinkedQueue<E>

This is a direct Java port of the MPSC algorithm as presented on 1024 Cores by D.

public class
public class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
public class
SpscArrayQueue<E>

A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.

pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
public class
SpscLinkedQueue<E>

This is a weakened version of the MPSC algorithm as presented on 1024 Cores by D.

public class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
public class
UnsafeAccess

All use of this class MUST first check that UnsafeAccess.isUnsafeAvailable() == true otherwise NPEs will happen in environments without "suc.misc.Unsafe" such as Android.