Skip to content

Commit 29dc613

Browse files
committed
properly pass promise in sslSupportedReceived although it'll always be nil anyways
1 parent 7aaae6e commit 29dc613

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

Sources/PostgresNIO/New/Connection State Machine/ConnectionStateMachine.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,14 @@ struct ConnectionStateMachine {
229229
}
230230
}
231231

232-
mutating func sslSupportedReceived(unprocessedBytes: Int) -> ConnectionAction {
232+
mutating func sslSupportedReceived(unprocessedBytes: Int, promise: EventLoopPromise<Void>?) -> ConnectionAction {
233233
switch self.state {
234234
case .sslRequestSent:
235235
if unprocessedBytes > 0 {
236-
return self.closeConnectionAndCleanup(.receivedUnencryptedDataAfterSSLRequest)
236+
return self.closeConnectionAndCleanup(.receivedUnencryptedDataAfterSSLRequest, closePromise: promise)
237237
}
238238
self.state = .sslNegotiated
239-
return .establishSSLConnection(nil)
239+
return .establishSSLConnection(promise)
240240

241241
case .initialized,
242242
.sslNegotiated,
@@ -249,8 +249,8 @@ struct ConnectionStateMachine {
249249
.closeCommand,
250250
.closing,
251251
.closed:
252-
return self.closeConnectionAndCleanup(.unexpectedBackendMessage(.sslSupported))
253-
252+
return self.closeConnectionAndCleanup(.unexpectedBackendMessage(.sslSupported), closePromise: promise)
253+
254254
case .modifying:
255255
preconditionFailure("Invalid state: \(self.state)")
256256
}

Sources/PostgresNIO/New/PostgresChannelHandler.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ final class PostgresChannelHandler: ChannelDuplexHandler {
161161
case .rowDescription(let rowDescription):
162162
action = self.state.rowDescriptionReceived(rowDescription)
163163
case .sslSupported:
164-
action = self.state.sslSupportedReceived(unprocessedBytes: self.decoder.unprocessedBytes)
164+
action = self.state.sslSupportedReceived(unprocessedBytes: self.decoder.unprocessedBytes, promise: nil)
165165
case .sslUnsupported:
166166
action = self.state.sslUnsupportedReceived()
167167
}

Tests/PostgresNIOTests/New/Connection State Machine/ConnectionStateMachineTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class ConnectionStateMachineTests: XCTestCase {
1919
let authContext = AuthContext(username: "test", password: "abc123", database: "test")
2020
var state = ConnectionStateMachine(requireBackendKeyData: true)
2121
XCTAssertEqual(state.connected(tls: .require, promise: nil), .sendSSLRequest(nil))
22-
XCTAssertEqual(state.sslSupportedReceived(unprocessedBytes: 0), .establishSSLConnection(nil))
22+
XCTAssertEqual(state.sslSupportedReceived(unprocessedBytes: 0, promise: nil), .establishSSLConnection(nil))
2323
XCTAssertEqual(state.sslHandlerAdded(), .wait)
2424
XCTAssertEqual(state.sslEstablished(), .provideAuthenticationContext)
2525
XCTAssertEqual(state.provideAuthenticationContext(authContext, promise: nil), .sendStartupMessage(authContext, promise: nil))
@@ -31,15 +31,15 @@ class ConnectionStateMachineTests: XCTestCase {
3131
var state = ConnectionStateMachine(requireBackendKeyData: true)
3232
XCTAssertEqual(state.connected(tls: .require, promise: nil), .sendSSLRequest(nil))
3333
let failError = PSQLError.receivedUnencryptedDataAfterSSLRequest
34-
XCTAssertEqual(state.sslSupportedReceived(unprocessedBytes: 1), .closeConnectionAndCleanup(.init(action: .close, tasks: [], error: failError, closePromise: nil)))
34+
XCTAssertEqual(state.sslSupportedReceived(unprocessedBytes: 1, promise: nil), .closeConnectionAndCleanup(.init(action: .close, tasks: [], error: failError, closePromise: nil)))
3535
}
3636

3737
func testSSLStartupFailHandler() {
3838
struct SSLHandlerAddError: Error, Equatable {}
3939

4040
var state = ConnectionStateMachine(requireBackendKeyData: true)
4141
XCTAssertEqual(state.connected(tls: .require, promise: nil), .sendSSLRequest(nil))
42-
XCTAssertEqual(state.sslSupportedReceived(unprocessedBytes: 0), .establishSSLConnection(nil))
42+
XCTAssertEqual(state.sslSupportedReceived(unprocessedBytes: 0, promise: nil), .establishSSLConnection(nil))
4343
let failError = PSQLError.failedToAddSSLHandler(underlying: SSLHandlerAddError())
4444
XCTAssertEqual(state.errorHappened(failError), .closeConnectionAndCleanup(.init(action: .close, tasks: [], error: failError, closePromise: nil)))
4545
}

0 commit comments

Comments
 (0)