Use intrusive base hook rather than a member hook
[folly.git] / folly / io / async / HHWheelTimer.h
index 33af9f34b020b76f5547fb5984b9dc22df90a593..4c33239db012f0532d9d78affd88ec2b627e6249 100644 (file)
@@ -66,7 +66,9 @@ class HHWheelTimer : private folly::AsyncTimeout,
   /**
    * A callback to be notified when a timeout has expired.
    */
-  class Callback {
+  class Callback
+      : public boost::intrusive::list_base_hook<
+            boost::intrusive::link_mode<boost::intrusive::auto_unlink>> {
    public:
     Callback()
       : wheel_(nullptr)
@@ -134,14 +136,8 @@ class HHWheelTimer : private folly::AsyncTimeout,
     std::chrono::milliseconds expiration_;
     int bucket_{-1};
 
-    typedef boost::intrusive::list_member_hook<
-      boost::intrusive::link_mode<boost::intrusive::auto_unlink> > ListHook;
-
-    ListHook hook_;
-
     typedef boost::intrusive::list<
       Callback,
-      boost::intrusive::member_hook<Callback, ListHook, &Callback::hook_>,
       boost::intrusive::constant_time_size<false> > List;
 
     std::shared_ptr<RequestContext> context_;