proxygen
AtomicNotification-inl.h File Reference
#include <folly/detail/Futex.h>
#include <folly/synchronization/ParkingLot.h>
#include <condition_variable>
#include <cstdint>

Go to the source code of this file.

Namespaces

 folly
 —— Concurrent Priority Queue Implementation ——
 
 folly::detail
 
 folly::detail::atomic_notification
 

Functions

std::cv_status folly::detail::atomic_notification::toCvStatus (FutexResult result)
 
std::cv_status folly::detail::atomic_notification::toCvStatus (ParkResult result)
 
template<template< typename... > class Atom, typename... Args>
void folly::detail::atomic_notification::atomic_wait_impl (const Atom< std::uint32_t, Args... > *atomic, std::uint32_t expected)
 
template<template< typename... > class Atom, typename Integer , typename... Args>
void folly::detail::atomic_notification::atomic_wait_impl (const Atom< Integer, Args... > *atomic, Integer expected)
 
template<template< typename... > class Atom, typename... Args, typename Clock , typename Duration >
std::cv_status folly::detail::atomic_notification::atomic_wait_until_impl (const Atom< std::uint32_t, Args... > *atomic, std::uint32_t expected, const std::chrono::time_point< Clock, Duration > &deadline)
 
template<template< typename... > class Atom, typename Integer , typename... Args, typename Clock , typename Duration >
std::cv_status folly::detail::atomic_notification::atomic_wait_until_impl (const Atom< Integer, Args... > *atomic, Integer expected, const std::chrono::time_point< Clock, Duration > &deadline)
 
template<template< typename... > class Atom, typename... Args>
void folly::detail::atomic_notification::atomic_notify_one_impl (const Atom< std::uint32_t, Args... > *atomic)
 
template<template< typename... > class Atom, typename Integer , typename... Args>
void folly::detail::atomic_notification::atomic_notify_one_impl (const Atom< Integer, Args... > *atomic)
 
template<template< typename... > class Atom, typename Integer , typename... Args>
void folly::detail::atomic_notification::atomic_notify_all_impl (const Atom< std::uint32_t, Args... > *atomic)
 
template<template< typename... > class Atom, typename Integer , typename... Args>
void folly::detail::atomic_notification::atomic_notify_all_impl (const Atom< Integer, Args... > *atomic)
 
template<typename Integer >
void folly::atomic_wait (const std::atomic< Integer > *atomic, Integer expected)
 
template<typename Integer , typename Clock , typename Duration >
std::cv_status folly::atomic_wait_until (const std::atomic< Integer > *atomic, Integer expected, const std::chrono::time_point< Clock, Duration > &deadline)
 
template<typename Integer >
void folly::atomic_notify_one (const std::atomic< Integer > *atomic)
 
template<typename Integer >
void folly::atomic_notify_all (const std::atomic< Integer > *atomic)
 

Variables

ParkingLot< std::uint32_tfolly::detail::atomic_notification::parkingLot