dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::service::stream::device< super_device_t > Class Template Reference

a streaming device the service hosts: its rings the service's, in shared memory, a client a participant in them More...

#include <dx_service_device.h>

Inheritance diagram for dx::service::stream::device< super_device_t >:
Collaboration diagram for dx::service::stream::device< super_device_t >:

Classes

class  peer

Public Types

typedef shared::event event_t

Public Member Functions

void conclude() noexcept override
void launch() override

Protected Member Functions

void grouped(typename super_device_t::group_t& group) override
size_t ioctl(typename super::peer& peer, uint32_t ioctl, const void* in, size_t size_in, void* out, size_t size_out) override
std::shared_ptr<typename super::peer> peer_create(uint32_t pid) override
 the peer of a connection: a layer above makes its own

Protected Attributes

std::list<typename super_device_t::group_t *> groups
 every group's transport settings served, as each group comes into existence (grouped())
service::server server{std::string{this->driver.product_id}+ "/"+ this->puuid, [this](uint32_t pid){return peer_create(pid);}}

Detailed Description

template<typename super_device_t>
class dx::service::stream::device< super_device_t >

a streaming device the service hosts: its rings the service's, in shared memory, a client a participant in them

A peer opens and starts streams for its client and names the client's clock event; its end releases what it holds - its starts and its streams. The device's settings - sample rate, clock source, configuration, every group's transport settings - are served as promoteds (dx::service::exchange), each change the broadcast.

Member Typedef Documentation

◆ event_t

template<typename super_device_t>
typedef shared::event dx::service::stream::device<super_device_t>::event_t

Member Function Documentation

◆ conclude()

template<typename super_device_t>
void dx::service::stream::device<super_device_t>::conclude()
inlineoverridenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ grouped()

template<typename super_device_t>
void dx::service::stream::device<super_device_t>::grouped(typename super_device_t::group_t& group)
inlineoverrideprotected

◆ ioctl()

template<typename super_device_t>
size_t dx::service::stream::device<super_device_t>::ioctl(typename super::peer& peer, uint32_t ioctl, const void* in, size_t size_in, void* out, size_t size_out)
inlineoverrideprotectedvirtual

Reimplemented from dx::service::device< super_device_t >.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ launch()

template<typename super_device_t>
void dx::service::stream::device<super_device_t>::launch()
inlineoverride
Here is the call graph for this function:
Here is the caller graph for this function:

◆ peer_create()

template<typename super_device_t>
std::shared_ptr<typename super::peer> dx::service::stream::device<super_device_t>::peer_create(uint32_t pid)
inlineoverrideprotectedvirtual

the peer of a connection: a layer above makes its own

Reimplemented from dx::service::device< super_device_t >.

Member Data Documentation

◆ groups

template<typename super_device_t>
std::list<typename super_device_t::group_t*> dx::service::stream::device<super_device_t>::groups
protected

every group's transport settings served, as each group comes into existence (grouped())

◆ server

template<typename super_device_t>
service::server dx::service::device<super_device_t>::server{std::string{this->driver.product_id}+ "/"+ this->puuid, [this](uint32_t pid){return peer_create(pid);}}
protectedinherited

The documentation for this class was generated from the following file: