Skip to content

Commit

Permalink
update error code
Browse files Browse the repository at this point in the history
  • Loading branch information
xiazhvera committed Jul 16, 2024
1 parent 1f65c93 commit af5dc7d
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 33 deletions.
8 changes: 4 additions & 4 deletions Source/AwsCommonRuntimeKit/crt/Utilities.swift
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ extension TimeInterval {
let _millisecond = (self * 1_000).rounded()
guard _millisecond >= 0 && _millisecond <= Double(UInt32.max) else {
// todo convert the millisecond conversion errors into aws-crt-swift errors
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue))
}
return UInt32(_millisecond)
}
Expand All @@ -157,23 +157,23 @@ extension TimeInterval {
let _millisecond = (self * 1_000).rounded()
guard _millisecond >= 0 && _millisecond <= Double(UInt64.max) else {
// todo convert the millisecond conversion errors into aws-crt-swift errors
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue))
}
return UInt64(_millisecond)
}

func secondUInt16() throws -> UInt16 {
guard self >= 0 && self <= Double(UInt16.max) else {
// todo convert the millisecond conversion errors into aws-crt-swift errors
throw CommonRunTimeError.crtError( CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
throw CommonRunTimeError.crtError( CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue))
}
return UInt16(self)
}

func secondUInt32() throws -> UInt32 {
guard self >= 0 && self <= Double(UInt32.max) else {
// todo convert the millisecond conversion errors into aws-crt-swift errors
throw CommonRunTimeError.crtError( CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
throw CommonRunTimeError.crtError( CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue))
}
return UInt32(self)
}
Expand Down
4 changes: 2 additions & 2 deletions Source/AwsCommonRuntimeKit/mqtt/Mqtt5Client.swift
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ public class Mqtt5ClientCore {
guard let rawValue = self.rawValue else {
continuationCore.release()
return continuation.resume(throwing: CommonRunTimeError.crtError(
CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue, context: "Mqtt client is closed.")))
CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue, context: "Mqtt client is closed.")))
}

let result = aws_mqtt5_client_publish(rawValue, publishPacketPointer, &callbackOptions)
Expand Down Expand Up @@ -401,7 +401,7 @@ public class Mqtt5ClientCore {
guard let rawValue = self.rawValue else {
continuationCore.release()
return continuation.resume(throwing: CommonRunTimeError.crtError(
CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue, context: "Mqtt client is closed.")))
CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue, context: "Mqtt client is closed.")))
}
let result = aws_mqtt5_client_unsubscribe(rawValue, unsubscribePacketPointer, &callbackOptions)
guard result == AWS_OP_SUCCESS else {
Expand Down
18 changes: 9 additions & 9 deletions Source/AwsCommonRuntimeKit/mqtt/Mqtt5Options.swift
Original file line number Diff line number Diff line change
Expand Up @@ -111,22 +111,22 @@ public class MqttConnectOptions: CStruct {
func validateConversionToNative() throws {
if let keepAliveInterval {
if keepAliveInterval < 0 || keepAliveInterval > Double(UInt16.max) {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid keepAliveInterval value"))
}
}

do {
_ = try sessionExpiryInterval?.secondUInt32()
} catch {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid sessionExpiryInterval value"))
}

do {
_ = try willDelayInterval?.secondUInt32()
} catch {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid willDelayInterval value"))
}
}
Expand Down Expand Up @@ -343,41 +343,41 @@ public class MqttClientOptions: CStructWithUserData {
do {
_ = try minReconnectDelay?.millisecondUInt64()
} catch {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid minReconnectDelay value"))
}

do {
_ = try maxReconnectDelay?.millisecondUInt64()
} catch {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid maxReconnectDelay value"))
}

do {
_ = try minConnectedTimeToResetReconnectDelay?.millisecondUInt64()
} catch {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid minConnectedTimeToResetReconnectDelay value"))
}

do {
_ = try pingTimeout?.millisecondUInt32()
} catch {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid pingTimeout value"))
}

do {
_ = try connackTimeout?.millisecondUInt32()
} catch {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid connackTimeout value"))
}

if let ackTimeout {
if ackTimeout < 0 || ackTimeout > Double(UInt32.max) {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid ackTimeout value"))
}
}
Expand Down
4 changes: 2 additions & 2 deletions Source/AwsCommonRuntimeKit/mqtt/Mqtt5Packets.swift
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ public class PublishPacket: CStruct {
func validateConversionToNative() throws {
if let messageExpiryInterval {
if messageExpiryInterval < 0 || messageExpiryInterval > Double(UInt32.max) {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid sessionExpiryInterval value"))
}
}
Expand Down Expand Up @@ -640,7 +640,7 @@ public class DisconnectPacket: CStruct {
func validateConversionToNative() throws {
if let sessionExpiryInterval {
if sessionExpiryInterval < 0 || sessionExpiryInterval > Double(UInt32.max) {
throw CommonRunTimeError.crtError(CRTError(code: AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue,
throw CommonRunTimeError.crtError(CRTError(code: AWS_ERROR_INVALID_ARGUMENT.rawValue,
context: "Invalid sessionExpiryInterval value"))
}
}
Expand Down
6 changes: 1 addition & 5 deletions Source/LibNative/CommonRuntimeError.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,12 @@
#define AWS_DEFINE_ERROR_INFO_CRT_SWIFT(CODE, STR) [(CODE)-0x4400] = AWS_DEFINE_ERROR_INFO(CODE, STR, "aws-crt-swift")

enum aws_swift_errors {
AWS_CRT_SWIFT_INVALID_ARGUMENT = AWS_ERROR_ENUM_BEGIN_RANGE(AWS_CRT_SWIFT_PACKAGE_ID),
AWS_CRT_SWIFT_MQTT_CLIENT_CLOSED,
AWS_CRT_SWIFT_MQTT_CLIENT_CLOSED = AWS_ERROR_ENUM_BEGIN_RANGE(AWS_CRT_SWIFT_PACKAGE_ID),
AWS_CRT_SWIFT_ERROR_END_RANGE = AWS_ERROR_ENUM_END_RANGE(AWS_CRT_SWIFT_PACKAGE_ID),
};


static struct aws_error_info s_crt_swift_errors[] = {
AWS_DEFINE_ERROR_INFO_CRT_SWIFT(
AWS_CRT_SWIFT_INVALID_ARGUMENT,
"An invalid argument was passed to a function."),
AWS_DEFINE_ERROR_INFO_CRT_SWIFT(
AWS_CRT_SWIFT_MQTT_CLIENT_CLOSED,
"The Mqtt Client is closed.")
Expand Down
22 changes: 11 additions & 11 deletions Test/AwsCommonRuntimeKitTests/mqtt/Mqtt5ClientTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1046,7 +1046,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected keepAliveInterval error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}

do {
Expand All @@ -1059,7 +1059,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected sessionExpirtyInterval error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}

do {
Expand All @@ -1072,7 +1072,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected willDelayInterval error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}

do {
Expand All @@ -1084,7 +1084,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected minReconnectDelay error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}

do {
Expand All @@ -1096,7 +1096,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected minReconnectDelay error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}

do {
Expand All @@ -1108,7 +1108,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected minConnectedTimeToResetReconnectDelay error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}

do {
Expand All @@ -1120,7 +1120,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected pingTimeout error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}

do {
Expand All @@ -1132,7 +1132,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected connackTimeout error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}

do {
Expand All @@ -1144,7 +1144,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected ackTimeout error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}
}

Expand Down Expand Up @@ -1179,7 +1179,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected sessionExpiryInterval error: \(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}
}

Expand Down Expand Up @@ -1217,7 +1217,7 @@ class Mqtt5ClientTests: XCBaseTestCase {
return
} catch CommonRunTimeError.crtError(let crtError) {
print("expected messageExpiryInterval error:\(crtError)")
XCTAssertEqual( crtError.code , (Int32)(AWS_CRT_SWIFT_INVALID_ARGUMENT.rawValue))
XCTAssertEqual( crtError.code , (Int32)(AWS_ERROR_INVALID_ARGUMENT.rawValue))
}
}

Expand Down

0 comments on commit af5dc7d

Please sign in to comment.