diff options
author | William A. Kennington III <wak@google.com> | 2019-01-30 16:04:11 -0800 |
---|---|---|
committer | William A. Kennington III <wak@google.com> | 2019-02-14 12:10:12 -0800 |
commit | d2d05940681fe3ca960638c924e886474c77ed69 (patch) | |
tree | fb87811f62792a387b3cceccbe86623da9f5fc39 | |
parent | 1689380b8bfe1b8264463e78130bb7f94673e590 (diff) | |
download | phosphor-networkd-d2d05940681fe3ca960638c924e886474c77ed69.tar.gz phosphor-networkd-d2d05940681fe3ca960638c924e886474c77ed69.zip |
rtnetlink_server: Refactor out the refresh check
No functional change but this will make it cleaner when adding more
types of message to refresh on.
Change-Id: I29ad0d6037fad85efb48394af0517580a3f2216f
Signed-off-by: William A. Kennington III <wak@google.com>
-rw-r--r-- | rtnetlink_server.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/rtnetlink_server.cpp b/rtnetlink_server.cpp index 69fb4ec..d0a11b9 100644 --- a/rtnetlink_server.cpp +++ b/rtnetlink_server.cpp @@ -26,6 +26,20 @@ extern std::unique_ptr<Timer> refreshObjectTimer; namespace rtnetlink { +static bool shouldRefresh(const struct nlmsghdr& hdr) +{ + switch (hdr.nlmsg_type) + { + case RTM_NEWADDR: + case RTM_DELADDR: + { + return true; + } + } + + return false; +} + /* Call Back for the sd event loop */ static int eventHandler(sd_event_source* es, int fd, uint32_t revents, void* userdata) @@ -41,8 +55,7 @@ static int eventHandler(sd_event_source* es, int fd, uint32_t revents, (netLinkHeader->nlmsg_type != NLMSG_DONE); netLinkHeader = NLMSG_NEXT(netLinkHeader, len)) { - if (netLinkHeader->nlmsg_type == RTM_NEWADDR || - netLinkHeader->nlmsg_type == RTM_DELADDR) + if (shouldRefresh(*netLinkHeader)) { // starting the timer here to make sure that we don't want // create the child objects multiple times. |