diff --git a/Sources/ElixxirDAppsSDK/E2E.swift b/Sources/ElixxirDAppsSDK/E2E.swift index 1a0617aec0f53c6dcc224458a1b317a8d2d86449..d98b72c0162b8f5b67de5f8ca96e2d0ccfb04442 100644 --- a/Sources/ElixxirDAppsSDK/E2E.swift +++ b/Sources/ElixxirDAppsSDK/E2E.swift @@ -4,6 +4,7 @@ public struct E2E { public var getId: E2EGetId public var getReceptionId: E2EGetReceptionId public var payloadSize: E2EPayloadSize + public var partitionSize: E2EPartitionSize // TODO: } @@ -13,7 +14,8 @@ extension E2E { E2E( getId: .live(bindingsE2E: bindingsE2E), getReceptionId: .live(bindingsE2E: bindingsE2E), - payloadSize: .live(bindingsE2E: bindingsE2E) + payloadSize: .live(bindingsE2E: bindingsE2E), + partitionSize: .live(bindingsE2E: bindingsE2E) ) } } @@ -22,6 +24,7 @@ extension E2E { public static let unimplemented = E2E( getId: .unimplemented, getReceptionId: .unimplemented, - payloadSize: .unimplemented + payloadSize: .unimplemented, + partitionSize: .unimplemented ) } diff --git a/Sources/ElixxirDAppsSDK/E2EPartitionSize.swift b/Sources/ElixxirDAppsSDK/E2EPartitionSize.swift new file mode 100644 index 0000000000000000000000000000000000000000..a3d8d722e05155badca9e4356c73450ed729cd97 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/E2EPartitionSize.swift @@ -0,0 +1,30 @@ +import Bindings +import XCTestDynamicOverlay + +public struct E2EPartitionSize { + public var first: () -> Int + public var second: () -> Int + public var atIndex: (Int) -> Int + + subscript(payloadIndex payloadIndex: Int) -> Int { + atIndex(payloadIndex) + } +} + +extension E2EPartitionSize { + public static func live(bindingsE2E: BindingsE2e) -> E2EPartitionSize { + E2EPartitionSize( + first: bindingsE2E.firstPartitionSize, + second: bindingsE2E.secondPartitionSize, + atIndex: bindingsE2E.partitionSize(_:) + ) + } +} + +extension E2EPartitionSize { + public static let unimplemented = E2EPartitionSize( + first: XCTUnimplemented("\(Self.self).first"), + second: XCTUnimplemented("\(Self.self).second"), + atIndex: XCTUnimplemented("\(Self.self).atIndex") + ) +}