/workspaces/astro/sol3-sdk/cpp/sol3/core/shmem_buffer.h Source File
|
Space-ng SDK
|
shmem_buffer.h
Go to the documentation of this file.
virtual int fd() const =0
virtual size_t size() const =0
virtual void const * data() const =0
virtual ~IBufferConst()=default
virtual BufferInfo const & info() const =0
virtual Endpoint const & endpoint() const =0
Interface for registering, discovering, and disposing shared buffers.
Definition: shmem_buffer.h:112
boost::asio::local::datagram_protocol::endpoint Endpoint
Definition: shmem_buffer.h:114
virtual void registerBuffer(IBufferMutable const &buffer)=0
static std::shared_ptr< IBufferExchange > makeProcessLocal()
virtual void listPorts(std::vector< EndpointPort > &ports) const =0
List all ports this exchange has received from peers or shared locally.
virtual void dispose(std::shared_ptr< IBufferConst > &&buffer)=0
Release resources associated with a previously retrieved buffer.
virtual void mapLocalToPeer(uint32_t local_port, Endpoint peer_endpoint, uint32_t peer_port=0)=0
virtual void listResolvedBuffers(std::map< PortIdx, std::shared_ptr< IBufferConst >> &buffers) const =0
virtual Endpoint const & localEndpoint() const =0
Local endpoint used by this exchange.
virtual std::shared_ptr< IBufferConst > get(uint32_t id, uint32_t idx) const =0
virtual void listMappings(std::map< uint32_t, std::vector< std::pair< Endpoint, uint32_t >>> &mappings) const =0
virtual bool stopped() const =0
True if the exchange has been stopped.
virtual void unregisterBuffer(IBufferMutable const &buffer)=0
Unregister a previously shared mutable buffer.
virtual void addPeer(Endpoint const &peer_endpoint)=0
virtual std::shared_ptr< IBufferConst > get(Endpoint const &ep, uint32_t id, uint32_t idx) const =0
virtual void configure(msg::ExchangeConfigT const &config)=0
virtual ~IBufferExchange()=default
virtual void * mutableData()=0
Definition: message_port.h:19
uint32_t encoded() const
Packed 32-bit port value.
Definition: message_port.h:56
std::string format_as(BufferInfo const &)
These functions add support for fmt::format.
Definition: any_message_input.h:15
std::unique_ptr< IBufferConst > importShmemBufferConst(BufferInfo const &info, int fd, Endpoint const &endpoint)
std::unique_ptr< IBufferMutable > makeShmemBuffer(BufferInfo const &info)
Creates a mutable buffer, matching the BufferInfo.
bool isGpu(msg::BufferFormat format)
Returns true if the format is a GPU format (e.g. MIPI_RAW, YUV_NV12).
boost::asio::local::datagram_protocol::endpoint Endpoint
Definition: shmem_buffer.h:28
Definition: carrier_board_msg_spec.h:10
Definition: shmem_buffer.h:219
Definition: shmem_buffer.h:41
boost::asio::local::datagram_protocol::endpoint endpoint
Definition: shmem_buffer.h:42
bool operator!=(EndpointPort const &rhs) const
Definition: shmem_buffer.h:49
bool operator<(EndpointPort const &rhs) const
Definition: shmem_buffer.h:51
bool operator==(EndpointPort const &rhs) const
Definition: shmem_buffer.h:45
Definition: shmem_buffer.h:62
size_t operator()(sol3::core::PortIdx const &p) const noexcept
Definition: shmem_buffer.h:222
Generated by