userver: concurrent Namespace Reference
Loading...
Searching...
No Matches
concurrent Namespace Reference

Detailed Description

Locking stuff.

Classes

class  AsyncEventChannel
 
class  AsyncEventSource
 The read-only side of an event channel. Events are delivered to listeners in a strict FIFO order, i.e. only after the event was processed a new event may appear for processing, same listener is never called concurrently. More...
 
class  AsyncEventSubscriberScope
 Manages the subscription to events from an AsyncEventSource. More...
 
class  BackgroundTaskStorage
 
class  BackgroundTaskStorageCore
 
class  ConflatedEventChannel
 A non-blocking version of 'AsyncEventChannel'. More...
 
class  Consumer
 
class  FunctionId
 
class  GenericQueue
 Queue with single and multi producer/consumer options. More...
 
class  ItemMutex
 
class  LazyValue
 lazy value computation with multiple users More...
 
class  LockedPtr
 Proxy class for locked access to data protected with locking::SharedLock<T> More...
 
class  MpscQueue
 
class  MutexSet
 A dynamic set of mutexes. More...
 
class  Producer
 
class  StripedCounter
 A contention-free sharded atomic counter, with memory consumption and read performance traded for write performance. Intended to be used for write-heavy counters, mostly in metrics. More...
 
class  Variable
 

Typedefs

template<typename T >
using NonFifoMpmcQueue = GenericQueue<T, impl::SimpleQueuePolicy<true, true>>
 Non FIFO multiple producers multiple consumers queue.
 
template<typename T >
using NonFifoMpscQueue = GenericQueue<T, impl::SimpleQueuePolicy<true, false>>
 Non FIFO multiple producers single consumer queue.
 
template<typename T >
using SpmcQueue = GenericQueue<T, impl::SimpleQueuePolicy<false, true>>
 Single producer multiple consumers queue.
 
template<typename T >
using SpscQueue = GenericQueue<T, impl::SimpleQueuePolicy<false, false>>
 Single producer single consumer queue.
 
using StringStreamQueue = GenericQueue<std::string, impl::ContainerQueuePolicy<false, false>>
 Single producer single consumer queue of std::string which is bounded bytes inside.
 
using BackgroundTaskStorageFastPimpl = utils::FastPimpl<BackgroundTaskStorage, 144, 16>
 

Enumerations

enum class  UnsubscribingKind {
  kManual ,
  kAutomatic
}
 

Typedef Documentation

◆ BackgroundTaskStorageFastPimpl

Enumeration Type Documentation

◆ UnsubscribingKind

enum class concurrent::UnsubscribingKind
strong

Definition at line 59 of file async_event_source.hpp.