From f728b861224b38feb10fc2710f7dbe4f23742d3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Y=C3=BCce=20Tekol?= <yuce.tekol@hazelcast.com>
Date: Mon, 11 Dec 2023 08:12:59 +0300
Subject: [PATCH] Added internal CPMap functions (#987)

Added internal CPMap functions
---
 .github/workflows/nightly_tests.yaml |  4 ++--
 client.go                            |  1 +
 client_internals.go                  | 16 +++++++++++++++-
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/nightly_tests.yaml b/.github/workflows/nightly_tests.yaml
index b2db0a92f..72ee8c27b 100644
--- a/.github/workflows/nightly_tests.yaml
+++ b/.github/workflows/nightly_tests.yaml
@@ -11,7 +11,7 @@ jobs:
     strategy:
         matrix:
             os: [ ubuntu-latest ]
-            go_version: [ 1.20, 1.21 ]
+            go_version: [ "1.20", "1.21" ]
         fail-fast: false
     steps:
 
@@ -22,7 +22,7 @@ jobs:
           
       - uses: actions/setup-go@v2
         with:
-          go-version: ${{ matrix.go_version }}
+          go-version: "${{ matrix.go_version }}"
           
       - name: Checkout code
         uses: actions/checkout@v2
diff --git a/client.go b/client.go
index df6168d43..b5a91054e 100644
--- a/client.go
+++ b/client.go
@@ -47,6 +47,7 @@ const (
 
 type AtomicLong = icp.AtomicLong
 type AtomicRef = icp.AtomicRef
+type CPMap = icp.Map
 type CPSubsystem = icp.Subsystem
 
 func NewLockContext(ctx context.Context) context.Context {
diff --git a/client_internals.go b/client_internals.go
index d59344b9f..6ed5f1001 100644
--- a/client_internals.go
+++ b/client_internals.go
@@ -194,7 +194,7 @@ func (ci *ClientInternal) PartitionCount() int32 {
 	return ci.client.ic.PartitionService.PartitionCount()
 }
 
-// Internal AtomicRef methods
+// Internal AtomicRef functions
 
 func AtomicRefGetData(ctx context.Context, ar *AtomicRef) (Data, error) {
 	return icp.AtomicRefGetData(ctx, ar)
@@ -204,6 +204,20 @@ func AtomicRefGetAndSetData(ctx context.Context, ar *AtomicRef, value Data) (Dat
 	return icp.AtomicRefGetAndSetData(ctx, ar, value)
 }
 
+// Internal CPMap functions
+
+func CPMapGetData(ctx context.Context, m *CPMap, key Data) (Data, error) {
+	return icp.CPMapGetData(ctx, m, key)
+}
+
+func CPMapPutData(ctx context.Context, m *CPMap, key, value Data) (Data, error) {
+	return icp.CPMapPutData(ctx, m, key, value)
+}
+
+func CPMapRemoveData(ctx context.Context, m *CPMap, key Data) (Data, error) {
+	return icp.CPMapRemoveData(ctx, m, key)
+}
+
 const (
 	TypeFieldOffset                      = proto.TypeFieldOffset
 	MessageTypeOffset                    = proto.MessageTypeOffset