summaryrefslogtreecommitdiff
path: root/simulator/opendc-serverless/opendc-serverless-service/src/main
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-03-29 14:10:20 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-04-08 20:19:30 +0200
commit1fb04ae372f96b32f9996c43fd066c98405ba634 (patch)
treec683c69f04de8c31331669d1e27bf3ec60cc25b5 /simulator/opendc-serverless/opendc-serverless-service/src/main
parentb8ae32eb9a2420fe596ac5f89d3eabee83c2291a (diff)
serverless: Add possibility to specify function memory requirements
Diffstat (limited to 'simulator/opendc-serverless/opendc-serverless-service/src/main')
-rw-r--r--simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ClientFunction.kt4
-rw-r--r--simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/InternalFunction.kt4
-rw-r--r--simulator/opendc-serverless/opendc-serverless-service/src/main/kotlin/org/opendc/serverless/service/internal/ServerlessServiceImpl.kt2
3 files changed, 10 insertions, 0 deletions
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<String, String> = 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<String, String>,
meta: Map<String, Any>
) : ServerlessFunction {
override var name: String = name
private set
+ override var memorySize: Long = allocatedMemory
+ private set
+
override val labels: MutableMap<String, String> = labels.toMutableMap()
override val meta: MutableMap<String, Any> = 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<String, String>,
meta: Map<String, Any>
): ServerlessFunction {
@@ -149,6 +150,7 @@ internal class ServerlessServiceImpl(
this@ServerlessServiceImpl,
uid,
name,
+ memorySize,
labels,
meta
)