Class ConcurrentDequePublisher<T>

java.lang.Object
dev.getelements.elements.sdk.util.AbstractPublisher<T>
dev.getelements.elements.sdk.util.ConcurrentDequePublisher<T>
Type Parameters:
T -
All Implemented Interfaces:
Publisher<T>, Iterable<Subscription>

public class ConcurrentDequePublisher<T> extends AbstractPublisher<T> implements Iterable<Subscription>
A thread-safe Publisher which uses a standard ConcurrentLinkedDeque to perform operations. When iterating the list of subscribers (such as when dispatching events) no locks are required as iteration of the list can happen without any locks. The iterator is weakly consistent as per the implementation of of ConcurrentLinkedDeque and unsubscription happens in O(n) (worst case).
  • Constructor Details

    • ConcurrentDequePublisher

      public ConcurrentDequePublisher()
    • ConcurrentDequePublisher

      public ConcurrentDequePublisher(Class<?> cls)
    • ConcurrentDequePublisher

      public ConcurrentDequePublisher(org.slf4j.Logger logger)
  • Method Details