| 103 | /// is serialized. |
| 104 | template <class T> |
| 105 | Status SerializeToBuffer(const T* obj, uint32_t* len, uint8_t** buffer) { |
| 106 | try { |
| 107 | mem_buffer_->resetBuffer(); |
| 108 | obj->write(protocol_.get()); |
| 109 | } catch (std::exception& e) { |
| 110 | std::stringstream msg; |
| 111 | msg << "Couldn't serialize thrift object beyond " |
| 112 | << mem_buffer_->getBufferSize() << " bytes:\n" << e.what(); |
| 113 | return Status(msg.str()); |
| 114 | } |
| 115 | mem_buffer_->getBuffer(buffer, len); |
| 116 | return Status::OK(); |
| 117 | } |
| 118 | |
| 119 | template <class T> |
| 120 | Status SerializeToString(const T* obj, std::string* result) { |