Make EventBaseLoopController only support VirtualEventBase
[folly.git] / folly / fibers / EventBaseLoopController.h
index 80dd6667677cb73ecbcc56ac19a4894e113722a4..a8a827668a1ba65e0dcfb224fa031504e2b46b46 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 #include <folly/fibers/FiberManagerInternal.h>
 #include <folly/fibers/LoopController.h>
-#include <folly/io/async/EventBase.h>
+#include <folly/io/async/VirtualEventBase.h>
 #include <atomic>
 #include <memory>
 
-namespace folly {
-class EventBase;
-}
-
 namespace folly {
 namespace fibers {
 
@@ -36,9 +32,10 @@ class EventBaseLoopController : public LoopController {
   /**
    * Attach EventBase after LoopController was created.
    */
-  void attachEventBase(folly::EventBase& eventBase);
+  void attachEventBase(EventBase& eventBase);
+  void attachEventBase(VirtualEventBase& eventBase);
 
-  folly::EventBase* getEventBase() {
+  VirtualEventBase* getEventBase() {
     return eventBase_;
   }
 
@@ -90,8 +87,8 @@ class EventBaseLoopController : public LoopController {
   };
 
   bool awaitingScheduling_{false};
-  folly::EventBase* eventBase_{nullptr};
-  folly::EventBase::LoopKeepAlive eventBaseKeepAlive_;
+  VirtualEventBase* eventBase_{nullptr};
+  Executor::KeepAlive eventBaseKeepAlive_;
   ControllerCallback callback_;
   DestructionCallback destructionCallback_;
   FiberManager* fm_{nullptr};
@@ -110,6 +107,7 @@ class EventBaseLoopController : public LoopController {
 
   friend class FiberManager;
 };
+
 }
 } // folly::fibers