DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs > Class Template Reference
+ Inheritance diagram for DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >:

Classes

struct  RemoteStreamInfoType
 

Public Types

using SampleStreamType = NetworkDataStreamInstrumentDataSampleStreamType
 
using InstrumentType = NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >
 

Public Member Functions

 NetworkDataStreamInstrumentData (size_t BufferSizeInSamples=1)
 
virtual ~NetworkDataStreamInstrumentData ()=default
 
const auto & GetRemoteStreamInfo () const noexcept
 
auto HasFinished () const noexcept
 
auto IsRunning () const noexcept
 
auto GetLastReadRemoteSampleID () const noexcept
 
void SetLastReadRemoteSampleID (size_t SampleID) noexcept
 
auto GetLastWrittenSampleID () const noexcept
 
void SetLastWrittenSampleID (size_t SampleID) noexcept
 
- Public Member Functions inherited from DynExpInstr::gRPCInstrumentData< BaseInstr, 0, gRPCStubs... >
 gRPCInstrumentData (ArgTs &&...Args)
 Constructs a gRPCInstrumentData instance and forwards all arguments passed to the constructor to the constructor of the instrument data type of BaseInstr. More...
 
virtual ~gRPCInstrumentData ()=default
 
auto GetStub () const noexcept
 Returns a stub pointer this gRPCInstrument uses selected by the stub index in the gRPCStubs list of gRPCInstrument. More...
 
auto GetStub () const noexcept
 Returns a stub pointer this gRPCInstrument uses selected by the stub type T. More...
 

Private Member Functions

void ResetImpl (DynExp::InstrumentDataBase::dispatch_tag< gRPCInstrumentData< BaseInstr, 0, gRPCStubs... >>) override final
 
virtual void ResetImpl (DynExp::InstrumentDataBase::dispatch_tag< NetworkDataStreamInstrumentData >)
 

Private Attributes

RemoteStreamInfoType RemoteStreamInfo
 
Util::OptionalBool Finished
 
Util::OptionalBool Running
 
size_t LastReadRemoteSampleID = 0
 ID of the last sample read from the remote site and written to the assigned data stream. More...
 
size_t LastWrittenSampleID = 0
 ID of the last sample read from the assigned data stream and written to the remote site. More...
 

Friends

class NetworkDataStreamInstrumentTasks::InitTask< BaseInstr, 0, gRPCStubs... >
 
class NetworkDataStreamInstrumentTasks::UpdateTask< BaseInstr, 0, gRPCStubs... >
 

Detailed Description

template<typename BaseInstr, typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int >, typename... gRPCStubs>
class DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >

Definition at line 358 of file NetworkDataStreamInstrument.h.


Class Documentation

◆ DynExpInstr::NetworkDataStreamInstrumentData::RemoteStreamInfoType

struct DynExpInstr::NetworkDataStreamInstrumentData::RemoteStreamInfoType

template<typename BaseInstr, typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int >, typename... gRPCStubs>
struct DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::RemoteStreamInfoType

Definition at line 367 of file NetworkDataStreamInstrument.h.

Class Members
double HardwareMaxValue
double HardwareMinValue
bool IsBasicSampleTimeUsed
size_t StreamSizeRead
size_t StreamSizeWrite
UnitType ValueUnit

Member Typedef Documentation

◆ InstrumentType

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
using DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::InstrumentType = NetworkDataStreamInstrumentT<BaseInstr, 0, gRPCStubs...>

Definition at line 365 of file NetworkDataStreamInstrument.h.

◆ SampleStreamType

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
using DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::SampleStreamType = NetworkDataStreamInstrumentDataSampleStreamType

Definition at line 364 of file NetworkDataStreamInstrument.h.

Constructor & Destructor Documentation

◆ NetworkDataStreamInstrumentData()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::NetworkDataStreamInstrumentData ( size_t  BufferSizeInSamples = 1)
inline

Definition at line 377 of file NetworkDataStreamInstrument.h.

◆ ~NetworkDataStreamInstrumentData()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
virtual DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::~NetworkDataStreamInstrumentData ( )
virtualdefault

Member Function Documentation

◆ GetLastReadRemoteSampleID()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
auto DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::GetLastReadRemoteSampleID ( ) const
inlinenoexcept

Definition at line 385 of file NetworkDataStreamInstrument.h.

◆ GetLastWrittenSampleID()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
auto DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::GetLastWrittenSampleID ( ) const
inlinenoexcept

Definition at line 387 of file NetworkDataStreamInstrument.h.

◆ GetRemoteStreamInfo()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
const auto& DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::GetRemoteStreamInfo ( ) const
inlinenoexcept

Definition at line 381 of file NetworkDataStreamInstrument.h.

◆ HasFinished()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
auto DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::HasFinished ( ) const
inlinenoexcept

Definition at line 382 of file NetworkDataStreamInstrument.h.

◆ IsRunning()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
auto DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::IsRunning ( ) const
inlinenoexcept

Definition at line 383 of file NetworkDataStreamInstrument.h.

◆ ResetImpl() [1/2]

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
void DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::ResetImpl ( DynExp::InstrumentDataBase::dispatch_tag< gRPCInstrumentData< BaseInstr, 0, gRPCStubs... >>  )
inlinefinaloverrideprivate

Definition at line 391 of file NetworkDataStreamInstrument.h.

◆ ResetImpl() [2/2]

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::ResetImpl ( DynExp::InstrumentDataBase::dispatch_tag< NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs > >  )
inlineprivatevirtual

Definition at line 403 of file NetworkDataStreamInstrument.h.

◆ SetLastReadRemoteSampleID()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
void DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::SetLastReadRemoteSampleID ( size_t  SampleID)
inlinenoexcept

Definition at line 386 of file NetworkDataStreamInstrument.h.

◆ SetLastWrittenSampleID()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
void DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::SetLastWrittenSampleID ( size_t  SampleID)
inlinenoexcept

Definition at line 388 of file NetworkDataStreamInstrument.h.

Friends And Related Function Documentation

◆ NetworkDataStreamInstrumentTasks::InitTask< BaseInstr, 0, gRPCStubs... >

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
friend class NetworkDataStreamInstrumentTasks::InitTask< BaseInstr, 0, gRPCStubs... >
friend

Definition at line 333 of file NetworkDataStreamInstrument.h.

◆ NetworkDataStreamInstrumentTasks::UpdateTask< BaseInstr, 0, gRPCStubs... >

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
friend class NetworkDataStreamInstrumentTasks::UpdateTask< BaseInstr, 0, gRPCStubs... >
friend

Definition at line 333 of file NetworkDataStreamInstrument.h.

Member Data Documentation

◆ Finished

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
Util::OptionalBool DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::Finished
private

Definition at line 406 of file NetworkDataStreamInstrument.h.

◆ LastReadRemoteSampleID

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
size_t DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::LastReadRemoteSampleID = 0
private

ID of the last sample read from the remote site and written to the assigned data stream.

Definition at line 409 of file NetworkDataStreamInstrument.h.

◆ LastWrittenSampleID

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
size_t DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::LastWrittenSampleID = 0
private

ID of the last sample read from the assigned data stream and written to the remote site.

Definition at line 410 of file NetworkDataStreamInstrument.h.

◆ RemoteStreamInfo

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
RemoteStreamInfoType DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::RemoteStreamInfo
private

Definition at line 405 of file NetworkDataStreamInstrument.h.

◆ Running

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< DataStreamInstrument, BaseInstr >, int > , typename... gRPCStubs>
Util::OptionalBool DynExpInstr::NetworkDataStreamInstrumentData< BaseInstr,, gRPCStubs >::Running
private

Definition at line 407 of file NetworkDataStreamInstrument.h.


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