| 114 | CudaBuffer::~CudaBuffer() { ARROW_CHECK_OK(Close()); } |
| 115 | |
| 116 | Status CudaBuffer::Close() { |
| 117 | if (own_data_) { |
| 118 | if (is_ipc_) { |
| 119 | return context_->CloseIpcBuffer(this); |
| 120 | } else { |
| 121 | return context_->Free(const_cast<uint8_t*>(data_), size_); |
| 122 | } |
| 123 | } |
| 124 | return Status::OK(); |
| 125 | } |
| 126 | |
| 127 | CudaBuffer::CudaBuffer(const std::shared_ptr<CudaBuffer>& parent, const int64_t offset, |
| 128 | const int64_t size) |