ZC Direct API: make isRegistered and layerInfo private in CkNcpyBuffer class 21/4421/2
authorNitin Bhat <nbhat4@illinois.edu>
Mon, 30 Jul 2018 21:01:25 +0000 (16:01 -0500)
committerNitin Bhat <nbhat4@illinois.edu>
Tue, 7 Aug 2018 20:10:29 +0000 (15:10 -0500)
Change-Id: I2879ec4fc7cb86ee923e4204a3de931d894ffd0d

src/ck-core/ckrdma.h

index 0394585de128734edfc5f11c3c378080ac5b1604..f3eefb61beceb925db113b8a0e55d56e447ab9f0 100644 (file)
@@ -110,10 +110,22 @@ void CkRdmaDirectAckHandler(void *ack);
 // Class to represent an RDMA buffer
 class CkNcpyBuffer{
 
-  public:
+  private:
+
   // bool to indicate registration for current values of ptr and cnt on pe
   bool isRegistered;
 
+  // machine specific information about the buffer
+  #ifdef __GNUC__
+  #pragma GCC diagnostic push
+  #pragma GCC diagnostic ignored "-Wpedantic"
+  #endif
+  char layerInfo[CMK_COMMON_NOCOPY_DIRECT_BYTES + CMK_NOCOPY_DIRECT_BYTES];
+  #ifdef __GNUC__
+  #pragma GCC diagnostic pop
+  #endif
+
+  public:
   // pointer to the buffer
   const void *ptr;
 
@@ -126,23 +138,13 @@ class CkNcpyBuffer{
   // home pe
   int pe;
 
-  #ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wpedantic"
-  #endif
-  // machine specific information about the buffer
-  char layerInfo[CMK_COMMON_NOCOPY_DIRECT_BYTES + CMK_NOCOPY_DIRECT_BYTES];
-  #ifdef __GNUC__
-  #pragma GCC diagnostic pop
-  #endif
-
   // mode
   unsigned short int mode;
 
   // reference pointer
   const void *ref;
 
-  CkNcpyBuffer() : ptr(NULL), pe(-1), ref(NULL), mode(CK_BUFFER_REG) {}
+  CkNcpyBuffer() : isRegistered(false), ptr(NULL), pe(-1), ref(NULL), mode(CK_BUFFER_REG) {}
 
   CkNcpyBuffer(const void *ptr_, size_t cnt_, CkCallback &cb_, unsigned short int mode_=CK_BUFFER_REG) {
     init(ptr_, cnt_, cb_, mode_);
@@ -236,6 +238,7 @@ class CkNcpyBuffer{
     PUParray(p, layerInfo, CMK_COMMON_NOCOPY_DIRECT_BYTES + CMK_NOCOPY_DIRECT_BYTES);
   }
 
+  friend void CkRdmaDirectAckHandler(void *ack);
 };
 
 enum class ncpyTransferMode : char { MEMCPY, CMA, RDMA };