virtual bool write()

in python/src/PythonOutputStream.h [52:72]


  virtual bool write(const char *ptr, unsigned long long numBytes) override {
    py::gil_scoped_acquire acquire;

    for (unsigned long long i = 0; i < numBytes; i += MAX_BUFFER_SIZE) {
      unsigned long long chunkSize = std::min(numBytes - i, MAX_BUFFER_SIZE);

      int bytesWritten =
          fileLike.attr("write")(py::bytes((const char *)ptr, chunkSize))
              .cast<int>();

      if (bytesWritten < 0)
        return false;

      if ((unsigned long long)bytesWritten < chunkSize)
        return false;

      ptr += chunkSize;
    }

    return true;
  }