sparrow-ipc 0.2.0
Loading...
Searching...
No Matches
encapsulated_message.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <variant>
5#include <span>
6
7#include "Message_generated.h"
8
9namespace sparrow_ipc
10{
12 {
13 public:
14
15 encapsulated_message(std::span<const uint8_t> data);
16
17 [[nodiscard]] const org::apache::arrow::flatbuf::Message* flat_buffer_message() const;
18
19 [[nodiscard]] size_t metadata_length() const;
20
21 [[nodiscard]] std::variant<
22 const org::apache::arrow::flatbuf::Schema*,
23 const org::apache::arrow::flatbuf::RecordBatch*,
24 const org::apache::arrow::flatbuf::Tensor*,
25 const org::apache::arrow::flatbuf::DictionaryBatch*,
26 const org::apache::arrow::flatbuf::SparseTensor*>
27 metadata() const;
28
29 [[nodiscard]] const ::flatbuffers::Vector<::flatbuffers::Offset<org::apache::arrow::flatbuf::KeyValue>>*
31
32 [[nodiscard]] size_t body_length() const;
33
34 [[nodiscard]] std::span<const uint8_t> body() const;
35
36 [[nodiscard]] size_t total_length() const;
37
38 [[nodiscard]] std::span<const uint8_t> as_span() const;
39
40 private:
41
42 std::span<const uint8_t> m_data;
43 };
44
45 [[nodiscard]] std::pair<encapsulated_message, std::span<const uint8_t>>
46 extract_encapsulated_message(std::span<const uint8_t> buf_ptr);
47}
std::span< const uint8_t > body() const
const org::apache::arrow::flatbuf::Message * flat_buffer_message() const
std::variant< const org::apache::arrow::flatbuf::Schema *, const org::apache::arrow::flatbuf::RecordBatch *, const org::apache::arrow::flatbuf::Tensor *, const org::apache::arrow::flatbuf::DictionaryBatch *, const org::apache::arrow::flatbuf::SparseTensor * > metadata() const
std::span< const uint8_t > as_span() const
encapsulated_message(std::span< const uint8_t > data)
const ::flatbuffers::Vector<::flatbuffers::Offset< org::apache::arrow::flatbuf::KeyValue > > * custom_metadata() const
std::pair< encapsulated_message, std::span< const uint8_t > > extract_encapsulated_message(std::span< const uint8_t > buf_ptr)