Files
swift-aws-lambda-runtime/Sources/AWSLambdaRuntime/LambdaRuntimeClientProtocol.swift
T
Sébastien StormacqandSebastien Stormacq e58d89148c Replace standard documents and processes with AWS ones (#574)
- Adjust notice, security reporting, code of conduct, contribution
process to the standard AWS documents
- Adjust GitHub issue templates to AWS standard ones.
- Adjust the license header in all source files

---------

Co-authored-by: Sebastien Stormacq <stormacq@amazon.lu>
2025-10-21 23:27:30 +02:00

47 lines
1.4 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the SwiftAWSLambdaRuntime open source project
//
// Copyright SwiftAWSLambdaRuntime project authors
// Copyright (c) Amazon.com, Inc. or its affiliates.
// Licensed under Apache License v2.0
//
// See LICENSE.txt for license information
// See CONTRIBUTORS.txt for the list of SwiftAWSLambdaRuntime project authors
//
// SPDX-License-Identifier: Apache-2.0
//
//===----------------------------------------------------------------------===//
import NIOCore
@usableFromInline
package protocol LambdaRuntimeClientResponseStreamWriter: LambdaResponseStreamWriter {
func write(_ buffer: ByteBuffer, hasCustomHeaders: Bool) async throws
func finish() async throws
func writeAndFinish(_ buffer: ByteBuffer) async throws
func reportError(_ error: any Error) async throws
}
@usableFromInline
@available(LambdaSwift 2.0, *)
package protocol LambdaRuntimeClientProtocol {
associatedtype Writer: LambdaRuntimeClientResponseStreamWriter
func nextInvocation() async throws -> (Invocation, Writer)
}
@usableFromInline
@available(LambdaSwift 2.0, *)
package struct Invocation: Sendable {
@usableFromInline
package var metadata: InvocationMetadata
@usableFromInline
package var event: ByteBuffer
package init(metadata: InvocationMetadata, event: ByteBuffer) {
self.metadata = metadata
self.event = event
}
}