diff options
author | Matt Traudt <sirmatt@ksu.edu> | 2017-07-10 16:10:29 -0400 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2017-09-15 11:40:59 -0400 |
commit | 2034e0d1d42c4f36a24c1eb88f95d057dacacf72 (patch) | |
tree | f78921b156db648d3666b765b0a38958abc90439 | |
parent | b2c56eacdd61429f17b9e14db665592ac4453c50 (diff) | |
download | tor-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.h | 2 | ||||
-rw-r--r-- | src/or/channel.c | 4 | ||||
-rw-r--r-- | src/or/channel.h | 2 | ||||
-rw-r--r-- | src/or/include.am | 2 | ||||
-rw-r--r-- | src/or/scheduler_kist.c | 5 | ||||
-rw-r--r-- | src/or/scheduler_vanilla.c | 5 |
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" + |