diff options
author | Andreas Kling <kling@serenityos.org> | 2020-04-07 22:15:22 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-04-07 23:01:43 +0200 |
commit | a53cf813748927ed03a862be847769a58453950b (patch) | |
tree | d6aa283b0f18642de86e155bed4443dbca649987 /Servers/DHCPClient | |
parent | f813041f67daa7a17197dee27ba5ed3fa2421235 (diff) | |
download | serenity-a53cf813748927ed03a862be847769a58453950b.zip |
LibCore: Add Core::Timer::create_single_shot()
This is just a convenience function for creating single-shot timers.
Diffstat (limited to 'Servers/DHCPClient')
-rw-r--r-- | Servers/DHCPClient/DHCPv4Client.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Servers/DHCPClient/DHCPv4Client.cpp b/Servers/DHCPClient/DHCPv4Client.cpp index 6161d02bf3..918a20b93f 100644 --- a/Servers/DHCPClient/DHCPv4Client.cpp +++ b/Servers/DHCPClient/DHCPv4Client.cpp @@ -165,14 +165,14 @@ void DHCPv4Client::handle_ack(const DHCPv4Packet& packet, const ParsedDHCPv4Opti auto new_ip = packet.yiaddr(); auto lease_time = convert_between_host_and_network(options.get<u32>(DHCPOption::IPAddressLeaseTime).value_or(transaction->offered_lease_time)); // set a timer for the duration of the lease, we shall renew if needed - Core::Timer::construct( - lease_time * 1000, [this, transaction, interface = InterfaceDescriptor { interface }, new_ip] { + Core::Timer::create_single_shot( + lease_time * 1000, + [this, transaction, interface = InterfaceDescriptor { interface }, new_ip] { transaction->accepted_offer = false; transaction->has_ip = false; dhcp_discover(interface, new_ip); }, - this) - ->set_single_shot(true); + this); set_params(transaction->interface, new_ip, options.get<IPv4Address>(DHCPOption::SubnetMask).value(), options.get_many<IPv4Address>(DHCPOption::Router, 1).first()); } @@ -189,12 +189,12 @@ void DHCPv4Client::handle_nak(const DHCPv4Packet& packet, const ParsedDHCPv4Opti transaction->accepted_offer = false; transaction->has_ip = false; auto& iface = transaction->interface; - Core::Timer::construct( - 10000, [this, iface = InterfaceDescriptor { iface }] { + Core::Timer::create_single_shot( + 10000, + [this, iface = InterfaceDescriptor { iface }] { dhcp_discover(iface); }, - this) - ->set_single_shot(true); + this); } void DHCPv4Client::process_incoming(const DHCPv4Packet& packet) |