asyncudpserversocket reuse port
[folly.git] / folly / io / async / AsyncUDPServerSocket.h
index 485f18b03b6127212e108c50630d866f87995443..04682297fcccc4fcaceeb8a86c2cb0c46637b388 100644 (file)
@@ -86,9 +86,14 @@ class AsyncUDPServerSocket : private AsyncUDPSocket::ReadCallback
     CHECK(!socket_);
 
     socket_ = folly::make_unique<AsyncUDPSocket>(evb_);
+    socket_->setReusePort(reusePort_);
     socket_->bind(addy);
   }
 
+  void setReusePort(bool reusePort) {
+    reusePort_ = reusePort;
+  }
+
   folly::SocketAddress address() const {
     CHECK(socket_);
     return socket_->address();
@@ -202,6 +207,8 @@ class AsyncUDPServerSocket : private AsyncUDPSocket::ReadCallback
 
   // Temporary buffer for data
   folly::IOBufQueue buf_;
+
+  bool reusePort_{false};
 };
 
 } // Namespace