event/ServerSocket: make AddAddress() a template

This commit is contained in:
Max Kellermann 2018-10-30 20:43:52 +01:00
parent 3ddc7a5353
commit ce9f09c69a
2 changed files with 5 additions and 13 deletions

View File

@ -265,20 +265,12 @@ ServerSocket::Close() noexcept
i.Close();
}
template<typename A>
ServerSocket::OneServerSocket &
ServerSocket::AddAddress(SocketAddress address) noexcept
ServerSocket::AddAddress(A &&address) noexcept
{
sockets.emplace_back(loop, *this, next_serial,
address);
return sockets.back();
}
ServerSocket::OneServerSocket &
ServerSocket::AddAddress(AllocatedSocketAddress &&address) noexcept
{
sockets.emplace_back(loop, *this, next_serial,
std::move(address));
std::forward<A>(address));
return sockets.back();
}

View File

@ -49,8 +49,8 @@ public:
}
private:
OneServerSocket &AddAddress(SocketAddress address) noexcept;
OneServerSocket &AddAddress(AllocatedSocketAddress &&address) noexcept;
template<typename A>
OneServerSocket &AddAddress(A &&address) noexcept;
/**
* Add a listener on a port on all IPv4 interfaces.