fw: NccStrategy
refs #1242
Change-Id: I21f870728b7b361547adbde9d64357c93aeb1ed9
diff --git a/tests/core/limited-io.hpp b/tests/core/limited-io.hpp
new file mode 100644
index 0000000..14dadd7
--- /dev/null
+++ b/tests/core/limited-io.hpp
@@ -0,0 +1,49 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (C) 2014 Named Data Networking Project
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NFD_TEST_CORE_LIMITED_IO_HPP
+#define NFD_TEST_CORE_LIMITED_IO_HPP
+
+#include "core/scheduler.hpp"
+
+namespace nfd {
+
+class LimitedIo
+{
+public:
+ LimitedIo();
+
+ enum StopReason
+ {
+ NO_WORK,
+ EXCEED_OPS,
+ EXCEED_TIME
+ };
+
+ StopReason
+ run(int nOpsLimit, time::Duration nTimeLimit);
+
+ void
+ afterOp();
+
+private:
+ void
+ afterTimeout();
+
+public:
+ static const int UNLIMITED_OPS;
+ static const time::Duration UNLIMITED_TIME;
+
+private:
+ bool m_isRunning;
+ int m_nOpsRemaining;
+ EventId m_timeout;
+ StopReason m_reason;
+};
+
+} // namespace nfd
+
+#endif // NFD_TEST_CORE_LIMITED_IO_HPP