|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
a service client's own streaming group: its transport side is the service's, chain-forwarded More...
#include <dx_service_client_device.h>
Public Types | |
| typedef settings< device_t >::client | client |
| typedef dx::clock< dx::free_run< dx::shared::event > > | clock |
| the one clock of this group, its source freely selectable | |
| typedef device_t | device_t |
| typedef std::conditional_t< store, typename dx::promoted< uint32_t >::template preference< decltype(device_t::preference)>, dx::promoted< uint32_t > > | promoted |
| typedef std::conditional_t< store, typename dx::promoted< uint32_t >::template preference< decltype(device_t::preference)>, dx::promoted< uint32_t > > | promoted |
| typedef device_t::stream_t | stream_t |
| typedef settings< device_t >::transport | transport |
| the group's two sides, reached as transport::/client:: members | |
Public Member Functions | |
| __dx_catchall (std::cerr<< dx::exception(&exception, exception.error, __PRETTY_FUNCTION__, __FILE__, __LINE__)<< std::endl;,) void conclude() noexcept | |
| template<typename... args_t> | |
| group (args_t &&... args) | |
| void | info (std::ostream &os) noexcept override try |
Static Public Member Functions | |
| static std::string | key (direction::direction direction, uint32_t) |
| static std::string | key (direction::direction direction, uint32_t strategy) |
Public Attributes | |
| promoted | safety_offset [direction::directions] |
| promoted | safety_offset [direction::directions] |
| promoted< uint32_t > | start {0} |
| promoted< bool > | started {false} |
| std::map< decltype(stream_t::target.idx()), std::weak_ptr< stream_t > > | streams |
| shared stream ownership: central weak reference per stream, guarded by device | |
| promoted | sync_strategy |
| promoted | sync_strategy |
| chain< uint32_t, typename device_t::request > | sync_strategy_server {this->device.pipe, this->transport::sync_strategy, device_t::request::id::sync_strategy} |
| chain< uint32_t, typename device_t::request > | transport_safety_offset_in_server {this->device.pipe, this->transport::safety_offset[dx::stream::direction::in], device_t::request::id::transport_safety_offset_in} |
| chain< uint32_t, typename device_t::request > | transport_safety_offset_out_server {this->device.pipe, this->transport::safety_offset[dx::stream::direction::out], device_t::request::id::transport_safety_offset_out} |
Protected Member Functions | |
| void | tick () override |
| the plain container has no transport of its own: a bus whose group moves the data overrides this, a group fed from outside (service, kernel, SDK callback) has nothing to do here | |
Protected Attributes | |
| device_t & | device |
| also the mutex serializing membership against the tick | |
| std::function< void()> | flush_hook = []{} |
| std::function< void()> | halt_hook = []{} |
| std::function< void()> | run_hook = []{} |
a service client's own streaming group: its transport side is the service's, chain-forwarded
|
inherited |
|
inherited |
the one clock of this group, its source freely selectable
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
the group's two sides, reached as transport::/client:: members
|
inline |
the service hosts this group's session: its start/stop rides this group's own start edge
|
inlinenoexceptinherited |
|
inlineoverridenoexceptinherited |
Reimplemented in dx::stream::device< dx::stream::control< dx::device< std::string, preference > >, desc, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::stream::pin< device_t, _circular_t >, dx::stream::stream< device_t, dx::circular, usb::pipe< device_t > >, dx::usb::pipe< device_t >, dx::usb::pipe< device_t >, dx::usb::stream::pipe< device_t, circular_t, stream_t >, and dx::wasapi::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >.
|
inlinestaticinherited |
|
inlinestaticinherited |
|
inlineoverrideprotectedinherited |
the plain container has no transport of its own: a bus whose group moves the data overrides this, a group fed from outside (service, kernel, SDK callback) has nothing to do here
|
protectedinherited |
also the mutex serializing membership against the tick
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
shared stream ownership: central weak reference per stream, guarded by device
|
inherited |
|
inherited |
| chain<uint32_t, typename device_t::request> dx::service::client::group< device_t >::sync_strategy_server {this->device.pipe, this->transport::sync_strategy, device_t::request::id::sync_strategy} |
| chain<uint32_t, typename device_t::request> dx::service::client::group< device_t >::transport_safety_offset_in_server {this->device.pipe, this->transport::safety_offset[dx::stream::direction::in], device_t::request::id::transport_safety_offset_in} |
| chain<uint32_t, typename device_t::request> dx::service::client::group< device_t >::transport_safety_offset_out_server {this->device.pipe, this->transport::safety_offset[dx::stream::direction::out], device_t::request::id::transport_safety_offset_out} |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |