Buffer.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <chrono>
4 #include <unordered_map>
5 #include <vector>
6 
9 
10 namespace dai {
11 
13 class Buffer : public ADatatype {
14  std::shared_ptr<dai::RawBuffer> serialize() const override;
15 
16  public:
18  Buffer();
19  explicit Buffer(std::shared_ptr<dai::RawBuffer> ptr);
20  virtual ~Buffer() = default;
21 
22  // helpers
27  std::vector<std::uint8_t>& getData() const;
28 
32  void setData(const std::vector<std::uint8_t>& data);
33 
37  void setData(std::vector<std::uint8_t>&& data);
38 
42  std::chrono::time_point<std::chrono::steady_clock, std::chrono::steady_clock::duration> getTimestamp() const;
43 
48  std::chrono::time_point<std::chrono::steady_clock, std::chrono::steady_clock::duration> getTimestampDevice() const;
49 
53  int64_t getSequenceNum() const;
54 
58  Buffer& setTimestamp(std::chrono::time_point<std::chrono::steady_clock, std::chrono::steady_clock::duration> timestamp);
59 
63  Buffer& setTimestampDevice(std::chrono::time_point<std::chrono::steady_clock, std::chrono::steady_clock::duration> timestamp);
64 
68  Buffer& setSequenceNum(int64_t sequenceNum);
69 };
70 
71 } // namespace dai
dai::Buffer::serialize
std::shared_ptr< dai::RawBuffer > serialize() const override
Definition: Buffer.cpp:5
dai::Buffer::~Buffer
virtual ~Buffer()=default
dai::Buffer::Buffer
Buffer()
Creates Buffer message.
Definition: Buffer.cpp:9
dai::ADatatype
Abstract message.
Definition: ADatatype.hpp:11
dai::Buffer::getData
std::vector< std::uint8_t > & getData() const
Get non-owning reference to internal buffer.
Definition: Buffer.cpp:13
dai::Buffer::getTimestamp
std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestamp() const
Definition: Buffer.cpp:26
dai::Buffer::getTimestampDevice
std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestampDevice() const
Definition: Buffer.cpp:30
DAI_SPAN_NAMESPACE_NAME::detail::data
constexpr auto data(C &c) -> decltype(c.data())
Definition: span.hpp:177
dai::Buffer::setTimestamp
Buffer & setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > timestamp)
Definition: Buffer.cpp:39
ADatatype.hpp
dai::Buffer::setTimestampDevice
Buffer & setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > timestamp)
Definition: Buffer.cpp:47
dai::Buffer::getSequenceNum
int64_t getSequenceNum() const
Definition: Buffer.cpp:34
RawBuffer.hpp
dai::Buffer
Base message - buffer of binary data.
Definition: Buffer.hpp:13
dai::Buffer::setData
void setData(const std::vector< std::uint8_t > &data)
Definition: Buffer.cpp:17
dai
Definition: CameraExposureOffset.hpp:6
dai::Buffer::setSequenceNum
Buffer & setSequenceNum(int64_t sequenceNum)
Definition: Buffer.cpp:55


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:18