Skip to content

Commit a04034d

Browse files
authored
Use singleton EventLoopGroupProvider instead of createNew (#584)
1 parent 9f5a1b7 commit a04034d

File tree

5 files changed

+17
-17
lines changed

5 files changed

+17
-17
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ let package = Package(
2929
.package(url: "https://github.com/apple/swift-nio.git", from: "2.42.0"),
3030
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.7.2"),
3131
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.13.1"),
32-
.package(url: "https://github.com/swift-server/async-http-client.git", from: "1.18.0"),
32+
.package(url: "https://github.com/swift-server/async-http-client.git", from: "1.19.0"),
3333
.package(url: "https://github.com/adam-fowler/jmespath.swift.git", from: "1.0.2"),
3434
],
3535
targets: [

Sources/SotoCore/AWSClient.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public final class AWSClient {
8585
case .createNewWithEventLoopGroup(let elg):
8686
self.httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .shared(elg), configuration: .init(timeout: .init(connect: .seconds(10))))
8787
case .createNew:
88-
self.httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .createNew, configuration: .init(timeout: .init(connect: .seconds(10))))
88+
self.httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .singleton, configuration: .init(timeout: .init(connect: .seconds(10))))
8989
}
9090

9191
self.credentialProvider = credentialProviderFactory.createProvider(context: .init(

Tests/SotoCoreTests/AWSClientTests+async.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ final class AWSClientAsyncTests: XCTestCase {
196196
guard ProcessInfo.processInfo.environment["CI"] == nil else { return }
197197
#endif
198198
let awsServer = AWSTestServer(serviceProtocol: .json)
199-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
199+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
200200
let config = createServiceConfig(endpoint: awsServer.address)
201201
let client = createAWSClient(credentialProvider: .empty, httpClientProvider: .shared(httpClient))
202202
defer {
@@ -211,7 +211,7 @@ final class AWSClientAsyncTests: XCTestCase {
211211
}
212212

213213
func testShutdown() async throws {
214-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
214+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
215215

216216
let client = createAWSClient(httpClientProvider: .shared(httpClient))
217217
try await client.shutdown()

Tests/SotoCoreTests/AWSClientTests.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class AWSClientTests: XCTestCase {
6060
}
6161

6262
func testShutdown() {
63-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
63+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
6464
defer { XCTAssertNoThrow(try httpClient.syncShutdown()) }
6565

6666
let client = createAWSClient(httpClientProvider: .shared(httpClient))
@@ -265,7 +265,7 @@ class AWSClientTests: XCTestCase {
265265

266266
func testRequestStreaming() {
267267
let awsServer = AWSTestServer(serviceProtocol: .json)
268-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
268+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
269269
let config = createServiceConfig(endpoint: awsServer.address)
270270
let client = createAWSClient(credentialProvider: .empty, httpClientProvider: .shared(httpClient))
271271
defer {
@@ -281,7 +281,7 @@ class AWSClientTests: XCTestCase {
281281

282282
func testRequestS3Streaming() {
283283
let awsServer = AWSTestServer(serviceProtocol: .json)
284-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
284+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
285285
let config = createServiceConfig(service: "s3", endpoint: awsServer.address)
286286
let client = createAWSClient(credentialProvider: .static(accessKeyId: "foo", secretAccessKey: "bar"), httpClientProvider: .shared(httpClient))
287287
defer {
@@ -303,7 +303,7 @@ class AWSClientTests: XCTestCase {
303303

304304
func testRequestStreamingAvoidStackOverflow() {
305305
let awsServer = AWSTestServer(serviceProtocol: .json)
306-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
306+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
307307
let config = createServiceConfig(service: "s3", endpoint: awsServer.address)
308308
let client = createAWSClient(credentialProvider: .static(accessKeyId: "foo", secretAccessKey: "bar"), httpClientProvider: .shared(httpClient))
309309
defer {
@@ -324,7 +324,7 @@ class AWSClientTests: XCTestCase {
324324
}
325325

326326
let awsServer = AWSTestServer(serviceProtocol: .json)
327-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
327+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
328328
let config = createServiceConfig(endpoint: awsServer.address)
329329
let client = createAWSClient(credentialProvider: .empty, httpClientProvider: .shared(httpClient))
330330
defer {
@@ -380,7 +380,7 @@ class AWSClientTests: XCTestCase {
380380
}
381381

382382
let awsServer = AWSTestServer(serviceProtocol: .json)
383-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
383+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
384384
let config = createServiceConfig(endpoint: awsServer.address)
385385
let client = createAWSClient(credentialProvider: .empty, httpClientProvider: .shared(httpClient))
386386
defer {
@@ -435,7 +435,7 @@ class AWSClientTests: XCTestCase {
435435
}
436436

437437
let awsServer = AWSTestServer(serviceProtocol: .json)
438-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
438+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
439439
let config = createServiceConfig(endpoint: awsServer.address)
440440
let client = createAWSClient(credentialProvider: .empty, httpClientProvider: .shared(httpClient))
441441
defer {
@@ -481,7 +481,7 @@ class AWSClientTests: XCTestCase {
481481
// provides it to AWSClient
482482
let awsServer = AWSTestServer(serviceProtocol: .json)
483483
let httpClientConfig = AsyncHTTPClient.HTTPClient.Configuration(redirectConfiguration: .init(.disallow))
484-
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .createNew, configuration: httpClientConfig)
484+
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .singleton, configuration: httpClientConfig)
485485
let config = createServiceConfig(serviceProtocol: .json(version: "1.1"), endpoint: awsServer.address)
486486
let client = createAWSClient(credentialProvider: .empty, httpClientProvider: .shared(httpClient))
487487
defer {
@@ -507,7 +507,7 @@ class AWSClientTests: XCTestCase {
507507

508508
func testServerError() {
509509
do {
510-
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .createNew)
510+
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .singleton)
511511
let awsServer = AWSTestServer(serviceProtocol: .json)
512512
let config = createServiceConfig(serviceProtocol: .json(version: "1.1"), endpoint: awsServer.address)
513513
let client = createAWSClient(credentialProvider: .empty, retryPolicy: .exponential(base: .milliseconds(200)), httpClientProvider: .shared(httpClient))
@@ -546,7 +546,7 @@ class AWSClientTests: XCTestCase {
546546
let s: String
547547
}
548548
do {
549-
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .createNew)
549+
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .singleton)
550550
let awsServer = AWSTestServer(serviceProtocol: .json)
551551
let config = createServiceConfig(serviceProtocol: .json(version: "1.1"), endpoint: awsServer.address)
552552
let client = createAWSClient(credentialProvider: .empty, retryPolicy: .jitter(), httpClientProvider: .shared(httpClient))
@@ -640,7 +640,7 @@ class AWSClientTests: XCTestCase {
640640
let s: String
641641
}
642642
do {
643-
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .createNew)
643+
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .singleton)
644644
let awsServer = AWSTestServer(serviceProtocol: .json)
645645
let config = createServiceConfig(serviceProtocol: .json(version: "1.1"), endpoint: awsServer.address)
646646
let client = createAWSClient(credentialProvider: .empty, retryPolicy: .jitter(), httpClientProvider: .shared(httpClient))
@@ -687,7 +687,7 @@ class AWSClientTests: XCTestCase {
687687
}
688688
let retryPolicy = TestRetryPolicy()
689689
do {
690-
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .createNew)
690+
let httpClient = AsyncHTTPClient.HTTPClient(eventLoopGroupProvider: .singleton)
691691
let awsServer = AWSTestServer(serviceProtocol: .json)
692692
let config = createServiceConfig(serviceProtocol: .json(version: "1.1"), endpoint: awsServer.address)
693693
let client = createAWSClient(credentialProvider: .empty, retryPolicy: .init(retryPolicy: retryPolicy), httpClientProvider: .shared(httpClient))

Tests/SotoCoreTests/Credential/ConfigFileCredentialProviderTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ class ConfigFileCredentialProviderTests: XCTestCase {
238238
// Prepare test server and AWS client
239239
let testServer = AWSTestServer(serviceProtocol: .xml)
240240
defer { XCTAssertNoThrow(try testServer.stop()) }
241-
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
241+
let httpClient = HTTPClient(eventLoopGroupProvider: .singleton)
242242
defer { XCTAssertNoThrow(try httpClient.syncShutdown()) }
243243

244244
// Here we use `.custom` provider factory, since we need to inject the testServer endpoint

0 commit comments

Comments
 (0)