aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Traudt <sirmatt@ksu.edu>2017-07-10 16:10:29 -0400
committerDavid Goulet <dgoulet@torproject.org>2017-09-15 11:40:59 -0400
commit2034e0d1d42c4f36a24c1eb88f95d057dacacf72 (patch)
treef78921b156db648d3666b765b0a38958abc90439
parentb2c56eacdd61429f17b9e14db665592ac4453c50 (diff)
downloadtor-2034e0d1d42c4f36a24c1eb88f95d057dacacf72.tar.gz
tor-2034e0d1d42c4f36a24c1eb88f95d057dacacf72.zip
sched: Groundwork before KIST implementation
- HT_FOREACH_FN defined in an additional place because nickm did that in an old kist prototype - Make channel_more_to_flush mockable for future sched tests - Add empty scheduler_{vanilla,kist}.c files and put in include.am Signed-off-by: David Goulet <dgoulet@torproject.org>
-rw-r--r--src/ext/ht.h2
-rw-r--r--src/or/channel.c4
-rw-r--r--src/or/channel.h2
-rw-r--r--src/or/include.am2
-rw-r--r--src/or/scheduler_kist.c5
-rw-r--r--src/or/scheduler_vanilla.c5
6 files changed, 17 insertions, 3 deletions
diff --git a/src/ext/ht.h b/src/ext/ht.h
index caa420e9b5..99da773faf 100644
--- a/src/ext/ht.h
+++ b/src/ext/ht.h
@@ -150,6 +150,8 @@
#define HT_CLEAR(name, head) name##_HT_CLEAR(head)
#define HT_INIT(name, head) name##_HT_INIT(head)
#define HT_REP_IS_BAD_(name, head) name##_HT_REP_IS_BAD_(head)
+#define HT_FOREACH_FN(name, head, fn, data) \
+ name##_HT_FOREACH_FN((head), (fn), (data))
/* Helper: */
static inline unsigned
ht_improve_hash(unsigned h)
diff --git a/src/or/channel.c b/src/or/channel.c
index 9f8a03683f..d64a0347a9 100644
--- a/src/or/channel.c
+++ b/src/or/channel.c
@@ -2601,8 +2601,8 @@ channel_flush_cells(channel_t *chan)
* available.
*/
-int
-channel_more_to_flush(channel_t *chan)
+MOCK_IMPL(int,
+channel_more_to_flush, (channel_t *chan))
{
tor_assert(chan);
diff --git a/src/or/channel.h b/src/or/channel.h
index 2d0ec39924..8c776c53f2 100644
--- a/src/or/channel.h
+++ b/src/or/channel.h
@@ -568,7 +568,7 @@ MOCK_DECL(ssize_t, channel_flush_some_cells,
(channel_t *chan, ssize_t num_cells));
/* Query if data available on this channel */
-int channel_more_to_flush(channel_t *chan);
+MOCK_DECL(int, channel_more_to_flush, (channel_t *chan));
/* Notify flushed outgoing for dirreq handling */
void channel_notify_flushed(channel_t *chan);
diff --git a/src/or/include.am b/src/or/include.am
index 021f5f9d5d..7216aba9af 100644
--- a/src/or/include.am
+++ b/src/or/include.am
@@ -99,6 +99,8 @@ LIBTOR_A_SOURCES = \
src/or/routerparse.c \
src/or/routerset.c \
src/or/scheduler.c \
+ src/or/scheduler_kist.c \
+ src/or/scheduler_vanilla.c \
src/or/statefile.c \
src/or/status.c \
src/or/torcert.c \
diff --git a/src/or/scheduler_kist.c b/src/or/scheduler_kist.c
new file mode 100644
index 0000000000..c140849538
--- /dev/null
+++ b/src/or/scheduler_kist.c
@@ -0,0 +1,5 @@
+/* Copyright (c) 2017, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "scheduler.h"
+
diff --git a/src/or/scheduler_vanilla.c b/src/or/scheduler_vanilla.c
new file mode 100644
index 0000000000..c140849538
--- /dev/null
+++ b/src/or/scheduler_vanilla.c
@@ -0,0 +1,5 @@
+/* Copyright (c) 2017, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "scheduler.h"
+