From c1143e4fa26c91adb4362fb15578ee6a4c10b3fb Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Wed, 25 May 2022 11:59:36 -0500 Subject: [PATCH] make shared state easier to use --- .../basics/core/threadstate/SharedState.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/core/threadstate/SharedState.java b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/core/threadstate/SharedState.java index e5b8bec6c..4235fc066 100644 --- a/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/core/threadstate/SharedState.java +++ b/virtdata-lib-basics/src/main/java/io/nosqlbench/virtdata/library/basics/core/threadstate/SharedState.java @@ -39,4 +39,18 @@ public class SharedState { public static ConcurrentHashMap gl_ObjectMap = new ConcurrentHashMap<>(); + public static T put(Scope scope, String name, T value) { + return switch(scope) { + case process -> (T) gl_ObjectMap.put(name, value); + case thread -> (T) tl_ObjectMap.get().put(name, value); + }; + } + + public static T get(Scope scope, String name) { + return switch(scope) { + case process -> (T) gl_ObjectMap.get(name); + case thread -> (T) tl_ObjectMap.get().get(name); + }; + } + }