| 659 | |
| 660 | template <class T> |
| 661 | int64_t Serialize(const T* obj, ArrowOutputStream* out, |
| 662 | Encryptor* encryptor = NULLPTR) { |
| 663 | uint8_t* out_buffer; |
| 664 | uint32_t out_length; |
| 665 | SerializeToBuffer(obj, &out_length, &out_buffer); |
| 666 | |
| 667 | // obj is not encrypted |
| 668 | if (encryptor == NULLPTR) { |
| 669 | PARQUET_THROW_NOT_OK(out->Write(out_buffer, out_length)); |
| 670 | return static_cast<int64_t>(out_length); |
| 671 | } else { // obj is encrypted |
| 672 | return SerializeEncryptedObj(out, out_buffer, out_length, encryptor); |
| 673 | } |
| 674 | } |
| 675 | |
| 676 | private: |
| 677 | template <class T> |