Unverified Commit 2d368da1 authored by Darshan Sen's avatar Darshan Sen Committed by GitHub
Browse files

src: prevent extra copies of `TimerWrap::TimerCb`



I noticed that we were taking `TimerCb` as a `const&` and then copying
that into the member. This is completely fine when the constructor is
called with an lvalue. However, when called with an rvalue, we can allow
the `std::function` to be moved into the member instead of falling back
to a copy, so I changed the constructors to take in universal
references. Also, `std::function` constructors can take in multiple
arguments, so I further modified the constructors to use variadic
templates.

Signed-off-by: default avatarDarshan Sen <darshan.sen@postman.com>

PR-URL: https://github.com/nodejs/node/pull/40665


Reviewed-By: default avatarAnna Henningsen <anna@addaleax.net>
Reviewed-By: default avatarMinwoo Jung <nodecorelab@gmail.com>
Reviewed-By: default avatarAntoine du Hamel <duhamelantoine1995@gmail.com>
parent 2037ee85
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment