# Buffer

Just a good old buffer. All other messages derive from the Buffer class.

## Reference

### dai::Buffer

Kind: class

Base message - buffer of binary data.

#### int64_t sequenceNum

Kind: variable

#### Timestamp ts

Kind: variable

#### Timestamp tsDevice

Kind: variable

#### Buffer()

Kind: function

#### Buffer(size_t size)

Kind: function

#### Buffer(long fd)

Kind: function

#### Buffer(long fd, size_t size)

Kind: function

#### ~Buffer()

Kind: function

#### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

#### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

#### span< uint8_t > getData()

Kind: function

Get non-owning reference to internal buffer.

return: Reference to internal buffer

#### span< const uint8_t > getData()

Kind: function

#### void setData(const std::vector< std::uint8_t > & data)

Kind: function

parameters: data: Copies data to internal buffer

#### void setData(const long fd)

Kind: function

#### void setData(std::vector< std::uint8_t > && data)

Kind: function

parameters: data: Moves data to internal buffer

#### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestamp()

Kind: function

Retrieves timestamp related to dai::Clock::now()

#### std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > getTimestampDevice()

Kind: function

Retrieves timestamp directly captured from device's monotonic clock, not synchronized to host time. Used mostly for debugging

#### void setTimestamp(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

#### void setTimestampDevice(std::chrono::time_point< std::chrono::steady_clock, std::chrono::steady_clock::duration > timestamp)

Kind: function

Sets image timestamp related to dai::Clock::now()

#### int64_t getSequenceNum()

Kind: function

Retrieves image sequence number

#### void setSequenceNum(int64_t sequenceNum)

Kind: function

Sets image sequence number

#### span< const uint8_t > getRecordData()

Kind: function

#### dai::VisualizeType getVisualizationMessage()

Kind: function

Get visualizable message return: Visualizable message, either ImgFrame , ImgAnnotations or std::monostate (None)

#### DEPTHAI_SERIALIZE(Buffer, sequenceNum, ts, tsDevice)

Kind: function

### Need assistance?

Head over to [Discussion Forum](https://discuss.luxonis.com/) for technical support or any other questions you might have.
