Example #1
0
void EventHandler::changeHandlerFD(int fd) {
  ensureNotRegistered(__func__);
  // event_set() resets event_base.ev_base, so manually restore it afterwards
  struct event_base* evb = event_.ev_base;
  folly_event_set(&event_, fd, 0, &EventHandler::libeventCallback, this);
  event_.ev_base = evb; // don't use event_base_set(), since evb may be nullptr
}
Example #2
0
AsyncTimeout::AsyncTimeout(EventBase* eventBase, InternalEnum internal)
    : timeoutManager_(eventBase) {
  folly_event_set(
      &event_, -1, EV_TIMEOUT, &AsyncTimeout::libeventCallback, this);
  event_.ev_base = nullptr;
  timeoutManager_->attachTimeoutManager(this, internal);
}
Example #3
0
AsyncTimeout::AsyncTimeout(TimeoutManager* timeoutManager)
    : timeoutManager_(timeoutManager) {
  folly_event_set(
      &event_, -1, EV_TIMEOUT, &AsyncTimeout::libeventCallback, this);
  event_.ev_base = nullptr;
  timeoutManager_->attachTimeoutManager(
      this, TimeoutManager::InternalEnum::NORMAL);
}
Example #4
0
EventHandler::EventHandler(EventBase* eventBase, int fd) {
  folly_event_set(&event_, fd, 0, &EventHandler::libeventCallback, this);
  if (eventBase != nullptr) {
    setEventBase(eventBase);
  } else {
    // Callers must set the EventBase and fd before using this timeout.
    // Set event_->ev_base to nullptr to ensure that this happens.
    // (otherwise libevent will initialize it to the "default" event_base)
    event_.ev_base = nullptr;
    eventBase_ = nullptr;
  }
}
Example #5
0
void EventHandler::initHandler(EventBase* eventBase, int fd) {
  ensureNotRegistered(__func__);
  folly_event_set(&event_, fd, 0, &EventHandler::libeventCallback, this);
  setEventBase(eventBase);
}
Example #6
0
AsyncTimeout::AsyncTimeout() : timeoutManager_(nullptr) {
  folly_event_set(
      &event_, -1, EV_TIMEOUT, &AsyncTimeout::libeventCallback, this);
  event_.ev_base = nullptr;
}