Browse Source

Enable so_reuseaddr on server transport implementations (#1940)

Gustavo Cairo 1 year ago
parent
commit
3f2cd13863

+ 4 - 0
Sources/GRPCHTTP2TransportNIOPosix/HTTP2ServerTransport+Posix.swift

@@ -174,6 +174,10 @@ extension HTTP2ServerTransport {
       }
 
       let serverChannel = try await ServerBootstrap(group: self.eventLoopGroup)
+        .serverChannelOption(
+          ChannelOptions.socketOption(.so_reuseaddr),
+          value: 1
+        )
         .serverChannelInitializer { channel in
           let quiescingHandler = self.serverQuiescingHelper.makeServerChannelHandler(
             channel: channel

+ 4 - 0
Sources/GRPCHTTP2TransportNIOTransportServices/HTTP2ServerTransport+TransportServices.swift

@@ -168,6 +168,10 @@ extension HTTP2ServerTransport {
       }
 
       let serverChannel = try await NIOTSListenerBootstrap(group: self.eventLoopGroup)
+        .serverChannelOption(
+          ChannelOptions.socketOption(.so_reuseaddr),
+          value: 1
+        )
         .serverChannelInitializer { channel in
           let quiescingHandler = self.serverQuiescingHelper.makeServerChannelHandler(
             channel: channel