proxygen
ReschedulingTimeout Class Reference
Inheritance diagram for ReschedulingTimeout:
folly::AsyncTimeout

Public Member Functions

 ReschedulingTimeout (EventBase *evb, const vector< uint32_t > &timeouts)
 
void start ()
 
void timeoutExpired () noexceptoverride
 
void reschedule ()
 
- Public Member Functions inherited from folly::AsyncTimeout
 AsyncTimeout (TimeoutManager *timeoutManager)
 
 AsyncTimeout (EventBase *eventBase)
 
 AsyncTimeout (TimeoutManager *timeoutManager, InternalEnum internal)
 
 AsyncTimeout (EventBase *eventBase, InternalEnum internal)
 
 AsyncTimeout ()
 
virtual ~AsyncTimeout ()
 
bool scheduleTimeout (uint32_t milliseconds)
 
bool scheduleTimeout (TimeoutManager::timeout_type timeout)
 
void cancelTimeout ()
 
bool isScheduled () const
 
void attachTimeoutManager (TimeoutManager *timeoutManager, InternalEnum internal=InternalEnum::NORMAL)
 
void attachEventBase (EventBase *eventBase, InternalEnum internal=InternalEnum::NORMAL)
 
void detachTimeoutManager ()
 
void detachEventBase ()
 
const TimeoutManagergetTimeoutManager ()
 
struct event * getEvent ()
 

Public Attributes

vector< TimePointtimestamps
 

Private Attributes

vector< uint32_ttimeouts_
 
vector< uint32_t >::const_iterator iterator_
 

Additional Inherited Members

- Public Types inherited from folly::AsyncTimeout
typedef TimeoutManager::InternalEnum InternalEnum
 
- Static Public Member Functions inherited from folly::AsyncTimeout
template<typename TCallback >
static std::unique_ptr< AsyncTimeoutmake (TimeoutManager &manager, TCallback &&callback)
 
template<typename TCallback >
static std::unique_ptr< AsyncTimeoutschedule (TimeoutManager::timeout_type timeout, TimeoutManager &manager, TCallback &&callback)
 

Detailed Description

Definition at line 925 of file EventBaseTest.cpp.

Constructor & Destructor Documentation

ReschedulingTimeout::ReschedulingTimeout ( EventBase evb,
const vector< uint32_t > &  timeouts 
)
inline

Definition at line 927 of file EventBaseTest.cpp.

928  : AsyncTimeout(evb), timeouts_(timeouts), iterator_(timeouts_.begin()) {}
vector< uint32_t > timeouts_
vector< uint32_t >::const_iterator iterator_

Member Function Documentation

void ReschedulingTimeout::reschedule ( )
inline

Definition at line 939 of file EventBaseTest.cpp.

References folly::detail::timeout, and uint32_t.

939  {
940  if (iterator_ != timeouts_.end()) {
942  ++iterator_;
943  scheduleTimeout(timeout);
944  }
945  }
vector< uint32_t > timeouts_
vector< uint32_t >::const_iterator iterator_
bool scheduleTimeout(uint32_t milliseconds)
void ReschedulingTimeout::start ( )
inline

Definition at line 930 of file EventBaseTest.cpp.

Referenced by TEST().

930  {
931  reschedule();
932  }
void ReschedulingTimeout::timeoutExpired ( )
inlineoverridevirtualnoexcept

timeoutExpired() is invoked when the timeout period has expired.

Implements folly::AsyncTimeout.

Definition at line 934 of file EventBaseTest.cpp.

934  {
935  timestamps.emplace_back();
936  reschedule();
937  }
vector< TimePoint > timestamps

Member Data Documentation

vector<uint32_t>::const_iterator ReschedulingTimeout::iterator_
private

Definition at line 951 of file EventBaseTest.cpp.

vector<uint32_t> ReschedulingTimeout::timeouts_
private

Definition at line 950 of file EventBaseTest.cpp.

vector<TimePoint> ReschedulingTimeout::timestamps

Definition at line 947 of file EventBaseTest.cpp.

Referenced by TEST().


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