diff --git a/Sources/GRPCNIOTransportHTTP2Posix/HTTP2ServerTransport+Posix.swift b/Sources/GRPCNIOTransportHTTP2Posix/HTTP2ServerTransport+Posix.swift index e397eca..093fc38 100644 --- a/Sources/GRPCNIOTransportHTTP2Posix/HTTP2ServerTransport+Posix.swift +++ b/Sources/GRPCNIOTransportHTTP2Posix/HTTP2ServerTransport+Posix.swift @@ -80,8 +80,12 @@ extension HTTP2ServerTransport { let serverChannel = try await ServerBootstrap(group: eventLoopGroup) .serverChannelOption(.socketOption(.so_reuseaddr), value: 1) .serverChannelInitializer { channel in - let quiescingHandler = serverQuiescingHelper.makeServerChannelHandler(channel: channel) - return channel.pipeline.addHandler(quiescingHandler) + return channel.eventLoop.makeCompletedFuture { + let quiescingHandler = serverQuiescingHelper.makeServerChannelHandler( + channel: channel + ) + return try channel.pipeline.syncOperations.addHandler(quiescingHandler) + } } .bind(to: address) { channel in channel.eventLoop.makeCompletedFuture { diff --git a/Sources/GRPCNIOTransportHTTP2TransportServices/HTTP2ServerTransport+TransportServices.swift b/Sources/GRPCNIOTransportHTTP2TransportServices/HTTP2ServerTransport+TransportServices.swift index 3b5bf62..a2829bd 100644 --- a/Sources/GRPCNIOTransportHTTP2TransportServices/HTTP2ServerTransport+TransportServices.swift +++ b/Sources/GRPCNIOTransportHTTP2TransportServices/HTTP2ServerTransport+TransportServices.swift @@ -58,8 +58,12 @@ extension HTTP2ServerTransport { try await bootstrap .serverChannelOption(.socketOption(.so_reuseaddr), value: 1) .serverChannelInitializer { channel in - let quiescingHandler = serverQuiescingHelper.makeServerChannelHandler(channel: channel) - return channel.pipeline.addHandler(quiescingHandler) + return channel.eventLoop.makeCompletedFuture { + let quiescingHandler = serverQuiescingHelper.makeServerChannelHandler( + channel: channel + ) + return try channel.pipeline.syncOperations.addHandler(quiescingHandler) + } } .bind(to: address) { channel in channel.eventLoop.makeCompletedFuture {