From 1fb04ae372f96b32f9996c43fd066c98405ba634 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Mon, 29 Mar 2021 14:10:20 +0200 Subject: serverless: Add possibility to specify function memory requirements --- .../kotlin/org/opendc/serverless/service/internal/ClientFunction.kt | 4 ++++ .../kotlin/org/opendc/serverless/service/internal/InternalFunction.kt | 4 ++++ .../org/opendc/serverless/service/internal/ServerlessServiceImpl.kt | 2 ++ 3 files changed, 10 insertions(+) (limited to 'simulator/opendc-serverless/opendc-serverless-service/src/main') diff --git a/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ClientFunction.kt b/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ClientFunction.kt index 1258a037..a26e7d87 100644 --- a/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ClientFunction.kt +++ b/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ClientFunction.kt @@ -34,6 +34,9 @@ internal class ClientFunction(private val delegate: ServerlessFunction) : Server override var name: String = delegate.name private set + override var memorySize: Long = delegate.memorySize + private set + override var labels: Map = delegate.labels.toMap() private set @@ -52,6 +55,7 @@ internal class ClientFunction(private val delegate: ServerlessFunction) : Server delegate.refresh() name = delegate.name + memorySize = delegate.memorySize labels = delegate.labels meta = delegate.meta } diff --git a/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/InternalFunction.kt b/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/InternalFunction.kt index a6e22912..cea2018d 100644 --- a/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/InternalFunction.kt +++ b/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/InternalFunction.kt @@ -32,12 +32,16 @@ internal class InternalFunction( private val service: ServerlessServiceImpl, override val uid: UUID, name: String, + allocatedMemory: Long, labels: Map, meta: Map ) : ServerlessFunction { override var name: String = name private set + override var memorySize: Long = allocatedMemory + private set + override val labels: MutableMap = labels.toMutableMap() override val meta: MutableMap = meta.toMutableMap() diff --git a/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ServerlessServiceImpl.kt b/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ServerlessServiceImpl.kt index c49871df..9d8dadb1 100644 --- a/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ServerlessServiceImpl.kt +++ b/simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ServerlessServiceImpl.kt @@ -138,6 +138,7 @@ internal class ServerlessServiceImpl( override suspend fun newFunction( name: String, + memorySize: Long, labels: Map, meta: Map ): ServerlessFunction { @@ -149,6 +150,7 @@ internal class ServerlessServiceImpl( this@ServerlessServiceImpl, uid, name, + memorySize, labels, meta ) -- cgit v1.2.3