From 39b0140b803bdade8c8657e2cd2f955fe4aae427 Mon Sep 17 00:00:00 2001 From: Tom Doron Date: Wed, 14 Nov 2018 11:34:52 -0800 Subject: [PATCH] http client event loop cleanup (#3) motivation: EventLoop is also an EventLoopGroup, no need in wrapping changes: remove SingleEventLoopGroup wrapper, use EventLoop directly --- Sources/SwiftAwsLambda/HttpClient.swift | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/Sources/SwiftAwsLambda/HttpClient.swift b/Sources/SwiftAwsLambda/HttpClient.swift index 18e95b22..b6ca1e4f 100644 --- a/Sources/SwiftAwsLambda/HttpClient.swift +++ b/Sources/SwiftAwsLambda/HttpClient.swift @@ -38,7 +38,7 @@ internal class HTTPClient { } func execute(_ request: HTTPRequest) -> EventLoopFuture { - let bootstrap = ClientBootstrap(group: SingleEventLoopGroup(eventLoop)) + let bootstrap = ClientBootstrap(group: eventLoop) .channelOption(ChannelOptions.socket(SocketOptionLevel(IPPROTO_TCP), TCP_NODELAY), value: 1) .channelInitializer { channel in channel.pipeline.addHTTPClientHandlers().then { @@ -246,20 +246,6 @@ private class UnaryHTTPHandler: ChannelInboundHandler, ChannelOutboundHandler { } } -// TODO: is there a more elegant way to bootstrap? -private class SingleEventLoopGroup: EventLoopGroup { - let eventLoop: EventLoop - public init(_ eventLoop: EventLoop) { - self.eventLoop = eventLoop - } - - func next() -> EventLoop { - return eventLoop - } - - func shutdownGracefully(queue _: DispatchQueue, _: @escaping (Error?) -> Void) {} -} - private enum HTTPClientError: Error { case invalidRequest }