Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8111752

Browse files
Update ktor, use std allocator as the fastest one (#4)
1 parent 44a667a commit 8111752

File tree

6 files changed

+22
-16
lines changed

6 files changed

+22
-16
lines changed

‎gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options\=
77
io.ktor.development=true
88

99
#kotlin.native.cacheKind.linuxX64=none
10+
kotlin.native.ignoreDisabledTargets=true

‎gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[versions]
22
junit = "4.13.2"
3-
kotlin = "2.0.10"
3+
kotlin = "2.0.20"
44
coroutinest-test = "1.9.0-RC"
5-
ktor = "3.0.0-beta-2"
5+
ktor = "3.0.0-rc-1"
66
serialization = "1.6.3"
77
logback = "1.5.6"
88
io = "0.5.1"

‎lambda-runtime/build.gradle.kts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
import dev.mokkery.MockMode
2+
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
3+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
4+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon
25

36
plugins {
47
alias(libs.plugins.kotlin.multiplatform)
@@ -14,6 +17,11 @@ kotlin {
1417
//linuxArm64() // https://youtrack.jetbrains.com/issue/KT-36871/Support-Aarch64-Linux-as-a-host-for-the-Kotlin-Native
1518
linuxX64()
1619

20+
@OptIn(ExperimentalKotlinGradlePluginApi::class)
21+
compilerOptions {
22+
freeCompilerArgs.addAll(listOf("-Xallocator=std"))
23+
}
24+
1725
sourceSets {
1826
commonMain.dependencies {
1927
implementation(projects.lambdaEvents)
@@ -38,4 +46,4 @@ kotlin {
3846

3947
mokkery {
4048
defaultMockMode.set(MockMode.autoUnit)
41-
}
49+
}

‎lambda-runtime/src/commonMain/kotlin/io/github/trueangle/knative/lambda/runtime/api/LambdaRuntimeClient.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import io.ktor.client.statement.HttpResponse
2121
import io.ktor.http.HttpStatusCode
2222
import io.ktor.http.content.OutgoingContent
2323
import io.ktor.http.contentType
24+
import io.ktor.http.isSuccess
2425
import io.ktor.util.reflect.TypeInfo
2526
import kotlinx.serialization.json.Json
2627
import kotlin.time.Duration.Companion.minutes
@@ -53,6 +54,11 @@ internal class LambdaClientImpl(private val httpClient: HttpClient): LambdaClien
5354
exponentialDelay()
5455
}
5556
}
57+
58+
if(!response.status.isSuccess()) {
59+
throw NonRecoverableStateException(message = "Lambda environment is unavailable. Can't retrieve an event. Terminating")
60+
}
61+
5662
val context = contextFromResponseHeaders(response)
5763
val body = try {
5864
response.body(bodyType) as T

‎lambda-runtime/src/nativeTest/kotlin/io/github/trueangle/knative/lambda/runtime/LambdaRuntimeTest.kt

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import dev.mokkery.verify.VerifyMode.Companion.exactly
1111
import dev.mokkery.verify.VerifyMode.Companion.not
1212
import dev.mokkery.verify.VerifyMode.Companion.order
1313
import dev.mokkery.verifySuspend
14-
import io.github.trueangle.knative.lambda.runtime.LambdaEnvironmentException.*
14+
import io.github.trueangle.knative.lambda.runtime.LambdaEnvironmentException.BadRequestException
15+
import io.github.trueangle.knative.lambda.runtime.LambdaEnvironmentException.NonRecoverableStateException
1516
import io.github.trueangle.knative.lambda.runtime.LambdaRuntimeException.Invocation.EventBodyParseException
1617
import io.github.trueangle.knative.lambda.runtime.LambdaRuntimeException.Invocation.HandlerException
1718
import io.github.trueangle.knative.lambda.runtime.ReservedRuntimeEnvironmentVariables.AWS_LAMBDA_FUNCTION_NAME
@@ -33,12 +34,8 @@ import io.ktor.client.engine.mock.MockRequestHandleScope
3334
import io.ktor.client.engine.mock.respond
3435
import io.ktor.client.engine.mock.respondBadRequest
3536
import io.ktor.client.engine.mock.respondError
36-
import io.ktor.client.engine.mock.respondOk
37-
import io.ktor.client.request.HttpRequestData
3837
import io.ktor.http.HttpHeaders
3938
import io.ktor.http.HttpStatusCode
40-
import io.ktor.http.content.ChannelWriterContent
41-
import io.ktor.http.content.OutgoingContent
4239
import io.ktor.http.headers
4340
import io.ktor.http.headersOf
4441
import io.ktor.util.reflect.typeInfo
@@ -48,16 +45,12 @@ import io.ktor.utils.io.copyTo
4845
import kotlinx.cinterop.ExperimentalForeignApi
4946
import kotlinx.cinterop.toKString
5047
import kotlinx.coroutines.test.runTest
51-
import kotlinx.io.Buffer
52-
import kotlinx.io.RawSource
53-
import kotlinx.io.Source
5448
import kotlinx.serialization.json.Json
5549
import platform.posix.getenv
5650
import platform.posix.setenv
5751
import kotlin.test.BeforeTest
5852
import kotlin.test.Test
5953
import kotlin.test.assertFailsWith
60-
import kotlin.test.assertTrue
6154

6255
internal const val RESOURCES_PATH = "src/nativeTest/resources"
6356

@@ -197,10 +190,7 @@ class LambdaRuntimeTest {
197190
val lambdaRunner = createRunner(MockEngine { request ->
198191
val path = request.url.encodedPath
199192
when {
200-
path.contains("/invocation/next") -> {
201-
respondError(HttpStatusCode.InternalServerError)
202-
}
203-
193+
path.contains("/invocation/next") -> respondError(HttpStatusCode.InternalServerError)
204194
else -> respondError(HttpStatusCode.Forbidden)
205195
}
206196
})

‎sample/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ kotlin {
1414
it.binaries {
1515
executable {
1616
entryPoint = "com.github.trueangle.knative.lambda.runtime.sample.main"
17+
freeCompilerArgs += listOf("-Xallocator=std")
1718
}
1819
}
1920
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /