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;
}