GeezerVison is showing github.com — src: remove user_data from TimerWrap · nodejs/node@b8bccc3
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: src/inspector_agent.cc +1-1Lines changed: 1 addition & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -525,7 +525,7 @@ class NodeInspectorClient : public V8InspectorClient { | 525 | 525 | void* data) override { | 526 | 526 | auto result = | 527 | 527 | timers_.emplace(std::piecewise_construct, std::make_tuple(data), | 528 | | - std::make_tuple(env_, callback, data)); | | 528 | + std::make_tuple(env_, [=]() { callback(data); })); | 529 | 529 | CHECK(result.second); | 530 | 530 | uint64_t interval = 1000 * interval_s; | 531 | 531 | result.first->second.Update(interval, interval); | |
Collapse file Copy file name to clipboardExpand all lines: src/timer_wrap.cc +5-7Lines changed: 5 additions & 7 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 5 | 5 |
| 6 | 6 | namespace node { | 7 | 7 |
| 8 | | -TimerWrap::TimerWrap(Environment* env, TimerCb fn, void* user_data) | | 8 | +TimerWrap::TimerWrap(Environment* env, const TimerCb& fn) | 9 | 9 | : env_(env), | 10 | | - fn_(fn), | 11 | | - user_data_(user_data) { | | 10 | + fn_(fn) { | 12 | 11 | uv_timer_init(env->event_loop(), &timer_); | 13 | 12 | timer_.data = this; | 14 | 13 | } | @@ -45,14 +44,13 @@ void TimerWrap::Unref() { | 45 | 44 |
| 46 | 45 | void TimerWrap::OnTimeout(uv_timer_t* timer) { | 47 | 46 | TimerWrap* t = ContainerOf(&TimerWrap::timer_, timer); | 48 | | - t->fn_(t->user_data_); | | 47 | + t->fn_(); | 49 | 48 | } | 50 | 49 |
| 51 | 50 | TimerWrapHandle::TimerWrapHandle( | 52 | 51 | Environment* env, | 53 | | - TimerWrap::TimerCb fn, | 54 | | - void* user_data) { | 55 | | - timer_ = new TimerWrap(env, fn, user_data); | | 52 | + const TimerWrap::TimerCb& fn) { | | 53 | + timer_ = new TimerWrap(env, fn); | 56 | 54 | env->AddCleanupHook(CleanupHook, this); | 57 | 55 | } | 58 | 56 |
| |
Collapse file Copy file name to clipboardExpand all lines: src/timer_wrap.h +3-5Lines changed: 3 additions & 5 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -14,9 +14,9 @@ namespace node { | 14 | 14 | // Utility class that makes working with libuv timers a bit easier. | 15 | 15 | class TimerWrap final : public MemoryRetainer { | 16 | 16 | public: | 17 | | - using TimerCb = std::function<void(void*)>; | | 17 | + using TimerCb = std::function<void()>; | 18 | 18 |
| 19 | | - TimerWrap(Environment* env, TimerCb fn, void* user_data); | | 19 | + TimerWrap(Environment* env, const TimerCb& fn); | 20 | 20 | TimerWrap(const TimerWrap&) = delete; | 21 | 21 |
| 22 | 22 | inline Environment* env() const { return env_; } | @@ -43,7 +43,6 @@ class TimerWrap final : public MemoryRetainer { | 43 | 43 | Environment* env_; | 44 | 44 | TimerCb fn_; | 45 | 45 | uv_timer_t timer_; | 46 | | - void* user_data_ = nullptr; | 47 | 46 |
| 48 | 47 | friend std::unique_ptr<TimerWrap>::deleter_type; | 49 | 48 | }; | @@ -52,8 +51,7 @@ class TimerWrapHandle : public MemoryRetainer { | 52 | 51 | public: | 53 | 52 | TimerWrapHandle( | 54 | 53 | Environment* env, | 55 | | - TimerWrap::TimerCb fn, | 56 | | - void* user_data = nullptr); | | 54 | + const TimerWrap::TimerCb& fn); | 57 | 55 |
| 58 | 56 | TimerWrapHandle(const TimerWrapHandle&) = delete; | 59 | 57 |
| |
|