From 58d904a328c0d849769b483e901a0be9426b8209 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 20 七月 2021 20:20:44 +0800
Subject: [PATCH] 调整Request C.BHFree的位置

---
 src/timed_queue.h |   47 +++--------------------------------------------
 1 files changed, 3 insertions(+), 44 deletions(-)

diff --git a/src/timed_queue.h b/src/timed_queue.h
index b2a941b..51da497 100644
--- a/src/timed_queue.h
+++ b/src/timed_queue.h
@@ -1,7 +1,7 @@
 /*
  * =====================================================================================
  *
- *       Filename:  failed_msg.h
+ *       Filename:  timed_queue.h
  *
  *    Description:  
  *
@@ -35,55 +35,14 @@
 	    expire_(expire), data_(data) {}
 	TimedData(const TimePoint &expire, Data &&data) :
 	    expire_(expire), data_(std::move(data)) {}
-	bool Expired() { return Clock::now() > expire_; }
+	bool Expired() const { return Clock::now() > expire_; }
+	const TimePoint &expire() const { return expire_; }
 	Data &data() { return data_; }
 	Data const &data() const { return data_; }
 
 private:
 	TimePoint expire_;
 	Data data_;
-};
-
-template <class Data, class ClockType = std::chrono::steady_clock>
-class TimedQueue
-{
-	typedef TimedData<Data, ClockType> Record;
-
-public:
-	typedef typename Record::Clock Clock;
-	typedef typename Record::TimePoint TimePoint;
-	typedef typename Record::Duration Duration;
-
-private:
-	typedef std::list<Record> Queue;
-	Synced<Queue> queue_;
-
-public:
-	void Push(Data &&data, const TimePoint &expire) { queue_->emplace_back(expire, std::move(data)); }
-	void Push(Data const &data, const TimePoint &expire) { queue_->emplace_back(expire, data); }
-
-	void Push(Data &&data, Duration const &timeout) { Push(std::move(data), Clock::now() + timeout); }
-	void Push(Data const &data, Duration const &timeout) { Push(data, Clock::now() + timeout); }
-
-	template <class Func>
-	void CheckAll(Func const &func)
-	{
-		queue_.Apply([&](Queue &q) {
-			if (q.empty()) {
-				return;
-			}
-			auto it = q.begin();
-			do {
-				if (it->Expired()) {
-					it = q.erase(it);
-				} else if (func(it->data())) {
-					it = q.erase(it);
-				} else {
-					++it;
-				}
-			} while (it != q.end());
-		});
-	}
 };
 
 #endif // end of include guard: TIMED_QUEUE_Y2YLRBS3

--
Gitblit v1.8.0