proxygen
folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token Class Reference

#include <AtomicBatchDispatcher.h>

Public Member Functions

 Token (std::shared_ptr< DispatchBaton > baton, size_t sequenceNumber)
 
Future< ResultT > dispatch (InputT input)
 
 Token (Token &&)=default
 
Tokenoperator= (Token &&)=default
 
size_t sequenceNumber () const
 

Private Member Functions

 Token (const Token &)=delete
 
Tokenoperator= (const Token &)=delete
 

Private Attributes

std::shared_ptr< DispatchBatonbaton_
 
size_t sequenceNumber_
 

Detailed Description

template<typename InputT, typename ResultT>
class folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token

Definition at line 177 of file AtomicBatchDispatcher.h.

Constructor & Destructor Documentation

template<typename InputT , typename ResultT >
folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::Token ( std::shared_ptr< DispatchBaton baton,
size_t  sequenceNumber 
)
explicit
template<typename InputT, typename ResultT>
folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::Token ( Token &&  )
default
template<typename InputT, typename ResultT>
folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::Token ( const Token )
privatedelete

Member Function Documentation

template<typename InputT, typename ResultT >
Future< ResultT > folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::dispatch ( InputT  input)

Definition at line 160 of file AtomicBatchDispatcher-inl.h.

References folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::baton_, folly::gen::move, and folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::sequenceNumber_.

161  {
162  auto baton = std::move(baton_);
163  if (!baton) {
164  throw ABDUsageException(
165  "Dispatch called more than once on the same Token object");
166  }
167  return baton->getFutureResult(std::move(input), sequenceNumber_);
168 }
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
template<typename InputT, typename ResultT>
Token& folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::operator= ( Token &&  )
default
template<typename InputT, typename ResultT>
Token& folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::operator= ( const Token )
privatedelete
template<typename InputT , typename ResultT >
size_t folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::sequenceNumber ( ) const

Member Data Documentation

template<typename InputT, typename ResultT>
std::shared_ptr<DispatchBaton> folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::baton_
private
template<typename InputT, typename ResultT>
size_t folly::fibers::AtomicBatchDispatcher< InputT, ResultT >::Token::sequenceNumber_
private

The documentation for this class was generated from the following files: