From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> To: tarantool-patches@dev.tarantool.org, sergepetrenko@tarantool.org Subject: [Tarantool-patches] [PATCH 2/8] fakesys: introduce fakeev_timer_remaining() Date: Sun, 13 Dec 2020 18:15:24 +0100 [thread overview] Message-ID: <8b3f7ff8778f2270ce5598984b7df3750cdda4a6.1607879643.git.v.shpilevoy@tarantool.org> (raw) In-Reply-To: <cover.1607879643.git.v.shpilevoy@tarantool.org> ev_timer_remaining() in libev returns number of seconds until the timer will expire. It is used in raft code. Raft is going to be tested using fakesys, and it means it needs fakeev analogue of ev_timer_remaining(). Part of #5303 --- src/lib/fakesys/fakeev.c | 10 ++++++++++ src/lib/fakesys/fakeev.h | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/src/lib/fakesys/fakeev.c b/src/lib/fakesys/fakeev.c index 8273c7ca8..715bf7b75 100644 --- a/src/lib/fakesys/fakeev.c +++ b/src/lib/fakesys/fakeev.c @@ -282,6 +282,16 @@ fakeev_timer_start(struct ev_loop *loop, struct ev_timer *base) fakeev_timer_event_new((struct ev_watcher *)base, base->at); } +double +fakeev_timer_remaining(struct ev_loop *loop, struct ev_timer *base) +{ + (void)loop; + struct fakeev_event *e = fakeev_event_by_ev((struct ev_watcher *)base); + if (e == NULL) + return base->at; + return e->deadline - fakeev_time(); +} + void fakeev_timer_again(struct ev_loop *loop, struct ev_timer *base) { diff --git a/src/lib/fakesys/fakeev.h b/src/lib/fakesys/fakeev.h index 89954b2e1..6d1c4dcd1 100644 --- a/src/lib/fakesys/fakeev.h +++ b/src/lib/fakesys/fakeev.h @@ -99,6 +99,10 @@ fakeev_loop(void); void fakeev_timer_start(struct ev_loop *loop, struct ev_timer *base); +/** Emulator of raft_ev_timer_remaining(). */ +double +fakeev_timer_remaining(struct ev_loop *loop, struct ev_timer *base); + /** Emulator of ev_timer_again(). */ void fakeev_timer_again(struct ev_loop *loop, struct ev_timer *base); -- 2.24.3 (Apple Git-128)
next prev parent reply other threads:[~2020-12-13 17:15 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-12-13 17:15 [Tarantool-patches] [PATCH 0/8] Raft module, part 4 - unit tests Vladislav Shpilevoy 2020-12-13 17:15 ` [Tarantool-patches] [PATCH 1/8] fakesys: fix ev_is_active not working on fake timers Vladislav Shpilevoy 2020-12-15 9:42 ` Serge Petrenko 2020-12-13 17:15 ` Vladislav Shpilevoy [this message] 2020-12-15 9:43 ` [Tarantool-patches] [PATCH 2/8] fakesys: introduce fakeev_timer_remaining() Serge Petrenko 2020-12-13 17:15 ` [Tarantool-patches] [PATCH 3/8] raft: introduce raft_ev Vladislav Shpilevoy 2020-12-15 10:02 ` Serge Petrenko 2020-12-13 17:15 ` [Tarantool-patches] [PATCH 4/8] test: introduce raft unit tests Vladislav Shpilevoy 2020-12-13 18:10 ` Vladislav Shpilevoy 2020-12-16 13:03 ` Serge Petrenko 2020-12-17 22:44 ` Vladislav Shpilevoy 2020-12-18 8:17 ` Serge Petrenko 2020-12-20 17:28 ` Vladislav Shpilevoy 2020-12-21 7:36 ` Serge Petrenko 2020-12-13 17:15 ` [Tarantool-patches] [PATCH 5/8] raft: fix crash when received 0 term message Vladislav Shpilevoy 2020-12-16 13:05 ` Serge Petrenko 2020-12-13 17:15 ` [Tarantool-patches] [PATCH 6/8] raft: fix ignorance of bad state receipt Vladislav Shpilevoy 2020-12-16 13:06 ` Serge Petrenko 2020-12-13 17:15 ` [Tarantool-patches] [PATCH 7/8] raft: fix crash on election timeout decrease Vladislav Shpilevoy 2020-12-16 13:08 ` Serge Petrenko 2020-12-13 17:15 ` [Tarantool-patches] [PATCH 8/8] raft: fix crash on death " Vladislav Shpilevoy 2020-12-16 13:10 ` Serge Petrenko 2020-12-21 16:50 ` [Tarantool-patches] [PATCH 0/8] Raft module, part 4 - unit tests Vladislav Shpilevoy 2020-12-21 17:29 ` Vladislav Shpilevoy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=8b3f7ff8778f2270ce5598984b7df3750cdda4a6.1607879643.git.v.shpilevoy@tarantool.org \ --to=v.shpilevoy@tarantool.org \ --cc=sergepetrenko@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH 2/8] fakesys: introduce fakeev_timer_remaining()' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox