You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jb...@apache.org on 2018/04/13 18:29:15 UTC

[geode-native] branch develop updated: GEODE-5066: Accessing cacheImpl directly to avoid access exception (#274)

This is an automated email from the ASF dual-hosted git repository.

jbarrett pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git


The following commit(s) were added to refs/heads/develop by this push:
     new 392b890  GEODE-5066: Accessing cacheImpl directly to avoid access exception (#274)
392b890 is described below

commit 392b8901654304082f2a79237c6ba141a9339109
Author: Ryan McMahon <rm...@pivotal.io>
AuthorDate: Fri Apr 13 11:29:13 2018 -0700

    GEODE-5066: Accessing cacheImpl directly to avoid access exception (#274)
---
 cppcache/src/statistics/StatArchiveWriter.cpp | 44 ++++++++++-----------------
 1 file changed, 16 insertions(+), 28 deletions(-)

diff --git a/cppcache/src/statistics/StatArchiveWriter.cpp b/cppcache/src/statistics/StatArchiveWriter.cpp
index fab3d7f..9a89d77 100644
--- a/cppcache/src/statistics/StatArchiveWriter.cpp
+++ b/cppcache/src/statistics/StatArchiveWriter.cpp
@@ -40,26 +40,24 @@ using std::chrono::system_clock;
 
 // Constructor and Member functions of StatDataOutput class
 
-StatDataOutput::StatDataOutput(CacheImpl *cache)
+StatDataOutput::StatDataOutput(CacheImpl *cacheImpl)
     : bytesWritten(0), m_fp(nullptr), closed(false) {
-  dataBuffer = cache->getCache()->createDataOutput();
+  dataBuffer = cacheImpl->createDataOutput();
 }
 
-StatDataOutput::StatDataOutput(std::string filename, CacheImpl *cache) {
+StatDataOutput::StatDataOutput(std::string filename, CacheImpl *cacheImpl) {
   if (filename.length() == 0) {
-    std::string s("undefined archive file name");
-    throw IllegalArgumentException(s.c_str());
+    throw IllegalArgumentException("undefined archive file name");
   }
 
   SerializationRegistry serializationRegistry;
-  dataBuffer = cache->getCache()->createDataOutput();
+  dataBuffer = cacheImpl->createDataOutput();
   outFile = filename;
   closed = false;
   bytesWritten = 0;
   m_fp = fopen(outFile.c_str(), "a+b");
   if (m_fp == nullptr) {
-    std::string s("error in opening archive file for writing");
-    throw NullPointerException(s.c_str());
+    throw NullPointerException("error in opening archive file for writing");
   }
 }
 
@@ -74,13 +72,11 @@ int64_t StatDataOutput::getBytesWritten() { return this->bytesWritten; }
 void StatDataOutput::flush() {
   const uint8_t *buffBegin = dataBuffer->getBuffer();
   if (buffBegin == nullptr) {
-    std::string s("undefined stat data buffer beginning");
-    throw NullPointerException(s.c_str());
+    throw NullPointerException("undefined stat data buffer beginning");
   }
   const uint8_t *buffEnd = dataBuffer->getCursor();
   if (buffEnd == nullptr) {
-    std::string s("undefined stat data buffer end");
-    throw NullPointerException(s.c_str());
+    throw NullPointerException("undefined stat data buffer end");
   }
   int32_t sizeOfUInt8 = sizeof(uint8_t);
   int32_t len = static_cast<int32_t>(buffEnd - buffBegin);
@@ -140,8 +136,7 @@ void StatDataOutput::close() {
 void StatDataOutput::openFile(std::string filename, int64_t size) {
   m_fp = fopen(filename.c_str(), "a+b");
   if (m_fp == nullptr) {
-    std::string s("error in opening archive file for writing");
-    throw NullPointerException(s.c_str());
+    throw NullPointerException("error in opening archive file for writing");
   }
   closed = false;
   bytesWritten = size;
@@ -241,8 +236,7 @@ void ResourceInst::writeStatValue(StatisticDescriptor *sd, int64_t v) {
       writeCompactValue(v);
       break;
     default:
-      std::string s = "Unexpected type code";
-      throw IllegalArgumentException(s.c_str());
+      throw IllegalArgumentException("Unexpected type code");
   }
 }
 
@@ -431,13 +425,11 @@ void StatArchiveWriter::openFile(std::string filename) {
 
   const uint8_t *buffBegin = dataBuffer->dataBuffer->getBuffer();
   if (buffBegin == nullptr) {
-    std::string s("undefined stat data buffer beginning");
-    throw NullPointerException(s.c_str());
+    throw NullPointerException("undefined stat data buffer beginning");
   }
   const uint8_t *buffEnd = dataBuffer->dataBuffer->getCursor();
   if (buffEnd == nullptr) {
-    std::string s("undefined stat data buffer end");
-    throw NullPointerException(s.c_str());
+    throw NullPointerException("undefined stat data buffer end");
   }
   int32_t len = static_cast<int32_t>(buffEnd - buffBegin);
 
@@ -544,8 +536,7 @@ void StatArchiveWriter::allocateResourceInst(Statistics *s) {
 
   ResourceInst *ri = new ResourceInst(resourceInstId, s, type, dataBuffer);
   if (ri == nullptr) {
-    std::string s("could not create new resource instance");
-    throw NullPointerException(s.c_str());
+    throw NullPointerException("could not create new resource instance");
   }
   resourceInstMap.insert(std::pair<Statistics *, ResourceInst *>(s, ri));
   this->dataBuffer->writeByte(RESOURCE_INSTANCE_CREATE_TOKEN);
@@ -560,8 +551,7 @@ void StatArchiveWriter::allocateResourceInst(Statistics *s) {
 const ResourceType *StatArchiveWriter::getResourceType(const Statistics *s) {
   const auto type = s->getType();
   if (type == nullptr) {
-    std::string s("could not know the type of the statistics object");
-    throw NullPointerException(s.c_str());
+    throw NullPointerException("could not know the type of the statistics object");
   }
   const ResourceType *rt = nullptr;
   const auto p = resourceTypeMap.find(type);
@@ -570,8 +560,7 @@ const ResourceType *StatArchiveWriter::getResourceType(const Statistics *s) {
   } else {
     rt = new ResourceType(resourceTypeId, type);
     if (type == nullptr) {
-      std::string s("could not allocate memory for a new resourcetype");
-      throw NullPointerException(s.c_str());
+      throw NullPointerException("could not allocate memory for a new resourcetype");
     }
     resourceTypeMap.emplace(type, rt);
     // write the type to the archive
@@ -587,8 +576,7 @@ const ResourceType *StatArchiveWriter::getResourceType(const Statistics *s) {
       this->dataBuffer->writeUTF(statsName);
       StatisticDescriptorImpl *sdImpl = (StatisticDescriptorImpl *)stats[i];
       if (sdImpl == nullptr) {
-        std::string err("could not down cast to StatisticDescriptorImpl");
-        throw NullPointerException(err.c_str());
+        throw NullPointerException("could not down cast to StatisticDescriptorImpl");
       }
       this->dataBuffer->writeByte(static_cast<int8_t>(sdImpl->getTypeCode()));
       this->dataBuffer->writeBoolean(stats[i]->isCounter());

-- 
To stop receiving notification emails like this one, please contact
jbarrett@apache.org.