dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::usb::isoc::session< group_t > Struct Template Reference

the streaming session's tick over a group's pipelines, the same in every environment More...

#include <dx_usb_isoc.h>

Public Member Functions

 session (group_t &group)
uint32_t tick (uint64_t frame, correlation &correlation, int64_t period)

Public Attributes

uint8_t feedback [offsetof(dx::circular, data)+2 *sizeof(uint32_t) *max_micro_frames *max_requests]
 the group's feedback: the lines an asynchronous in pipe delivers per micro frame, which an asynchronous out pipe's requests follow a round behind - its lead a round, seeded by every charge; bundled completions swing it around the seed, so its room is two rounds
group_t & group

Detailed Description

template<typename group_t>
struct dx::usb::isoc::session< group_t >

the streaming session's tick over a group's pipelines, the same in every environment

One tick at bus frame frame charges every pipe once as it stands idle after its start(), parks a pipe whose charge or submit failed for the session, moves every pipe's data by its pipeline and runs the clock domain by the reference stream's advance. The environment's group supplies its thread and timer, and:

  • each(f): visits every isoc pipeline of the session as f(idx, pipeline), idx its stream's index
  • reference: the stream whose advance drives the clock domain, by the index each() names it
  • os_result readout(uint64_t& frame, int64_t& timestamp) / int64_t now(): the correlation's source
  • void tick(uint32_t samples, uint64_t frame, int64_t timestamp): the clock domain's advance
  • bool locking(): the device's clock is still locking to a sample rate set (desc::clock::lock_delay)

Constructor & Destructor Documentation

◆ session()

template<typename group_t>
dx::usb::isoc::session< group_t >::session ( group_t & group)
inline
Here is the call graph for this function:

Member Function Documentation

◆ tick()

template<typename group_t>
uint32_t dx::usb::isoc::session< group_t >::tick ( uint64_t frame,
correlation & correlation,
int64_t period )
inline
Here is the call graph for this function:

Member Data Documentation

◆ feedback

template<typename group_t>
uint8_t dx::usb::isoc::session< group_t >::feedback[offsetof(dx::circular, data)+2 *sizeof(uint32_t) *max_micro_frames *max_requests]

the group's feedback: the lines an asynchronous in pipe delivers per micro frame, which an asynchronous out pipe's requests follow a round behind - its lead a round, seeded by every charge; bundled completions swing it around the seed, so its room is two rounds

◆ group

template<typename group_t>
group_t& dx::usb::isoc::session< group_t >::group

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

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.