Commit fd923d5d authored by Max Kellermann's avatar Max Kellermann

net/SocketDescriptor: add Shutdown()

parent ebf607ee
......@@ -488,3 +488,25 @@ SocketDescriptor::Write(const void *buffer, size_t length,
return ::sendto(Get(), (const char *)buffer, length, flags,
address.GetAddress(), address.GetSize());
}
#ifndef _WIN32
void
SocketDescriptor::Shutdown() noexcept
{
shutdown(Get(), SHUT_RDWR);
}
void
SocketDescriptor::ShutdownRead() noexcept
{
shutdown(Get(), SHUT_RD);
}
void
SocketDescriptor::ShutdownWrite() noexcept
{
shutdown(Get(), SHUT_WR);
}
#endif
......@@ -241,6 +241,12 @@ public:
*/
ssize_t Write(const void *buffer, size_t length,
SocketAddress address) noexcept;
#ifndef _WIN32
void Shutdown() noexcept;
void ShutdownRead() noexcept;
void ShutdownWrite() noexcept;
#endif
};
static_assert(std::is_trivial<SocketDescriptor>::value, "type is not trivial");
......
Markdown is supported
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