Copilot commented on code in PR #1945:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1945#discussion_r2030855905


##########
libminifi/src/core/repository/VolatileContentRepository.cpp:
##########
@@ -17,142 +16,133 @@
  */
 
 #include "core/repository/VolatileContentRepository.h"
+#include "core/logging/LoggerFactory.h"
 
-#include <cstdio>
-#include <memory>
-#include <string>
-#include <thread>
+namespace org::apache::nifi::minifi::core::repository {
 
-#include "core/expect.h"
-#include "io/FileStream.h"
-#include "utils/StringUtils.h"
+namespace {
 
-using namespace std::literals::chrono_literals;
+class StringRefStream : public io::BaseStream {
+ public:
+  StringRefStream(std::shared_ptr<std::string> data, std::mutex& 
data_store_mtx, std::shared_ptr<std::string>& data_store, std::atomic<size_t>& 
total_size)
+      : data_(std::move(data)), data_store_mtx_(data_store_mtx), 
data_store_(data_store), total_size_(total_size) {}
 
-namespace org::apache::nifi::minifi::core::repository {
+  [[nodiscard]] size_t size() const override {
+    return data_->size();
+  }
+
+  size_t read(std::span<std::byte> out_buffer) override {
+    auto read_size = std::min(data_->size() - read_offset_, out_buffer.size());
+    std::copy_n(reinterpret_cast<const std::byte*>(data_->data()) + 
read_offset_, read_size, out_buffer.data());
+    read_offset_ += read_size;
+    return read_size;
+  }
 
-const char *VolatileContentRepository::minimal_locking = "minimal.locking";
+  size_t write(const uint8_t *value, size_t len) override {
+    data_ = std::make_shared<std::string>(*data_);

Review Comment:
   [nitpick] Recreating the string object on every write call may lead to 
inefficiencies; consider appending directly to the existing string to improve 
performance.
   ```suggestion
   
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to