DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Data stream instrument for bidirectional gRPC communication. More...
Public Types | |
using | ParamsType = NetworkDataStreamInstrumentParams< BaseInstr, 0, gRPCStubs... > |
using | ConfigType = NetworkDataStreamInstrumentConfigurator< BaseInstr, 0, gRPCStubs... > |
using | InstrumentDataType = NetworkDataStreamInstrumentData< BaseInstr, 0, gRPCStubs... > |
Public Types inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... > | |
using | ParamsType = gRPCInstrumentParams< BaseInstr, 0, gRPCStubs... > |
Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object . More... | |
using | ConfigType = gRPCInstrumentConfigurator< BaseInstr, 0, gRPCStubs... > |
Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object . More... | |
using | InstrumentDataType = gRPCInstrumentData< BaseInstr, 0, gRPCStubs... > |
Type of the data class belonging to this InstrumentBase type. Declare this alias in every derived class with the respective data class accompanying the derived InstrumentBase . More... | |
Public Member Functions | |
NetworkDataStreamInstrumentT (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params) | |
virtual | ~NetworkDataStreamInstrumentT () |
virtual std::string | GetName () const override |
Returns the name of this Object type. More... | |
virtual std::chrono::milliseconds | GetTaskQueueDelay () const |
Read remote instrument's state periodically. More... | |
virtual Util::OptionalBool | HasFinished () const override |
virtual Util::OptionalBool | IsRunning () const override |
virtual void | ReadData (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override |
virtual void | WriteData (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override |
virtual void | ClearData (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override |
virtual void | Start (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override |
virtual void | Stop (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override |
virtual void | Restart (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override |
virtual void | SetStreamSize (size_t BufferSizeInSamples, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override |
virtual void | ResetStreamSize (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override |
Public Member Functions inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... > | |
virtual | ~gRPCInstrument () |
virtual std::string | GetCategory () const override |
Returns the category of this Object type. More... | |
Static Public Member Functions | |
constexpr static auto | Name () noexcept |
Static Public Member Functions inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... > | |
constexpr static auto | Name () noexcept |
Every derived class has to redefine this function. More... | |
constexpr static auto | Category () noexcept |
Every derived class has to redefine this function. More... | |
Private Member Functions | |
void | ResetImpl (DynExp::Object::dispatch_tag< gRPCInstrument< BaseInstr, 0, gRPCStubs... >>) override final |
virtual void | ResetImpl (DynExp::Object::dispatch_tag< NetworkDataStreamInstrumentT >) |
virtual std::unique_ptr< DynExp::InitTaskBase > | MakeInitTask () const override |
Factory function for an init task (InitTaskBase ). Override to define the desired initialization task in derived classes only if the respective task really does something and if it has no pure virtual function. More... | |
virtual std::unique_ptr< DynExp::ExitTaskBase > | MakeExitTask () const override |
Factory function for an exit task (ExitTaskBase ). Override to define the desired deinitialization task in derived classes only if the respective task really does something and if it has no pure virtual function. More... | |
virtual std::unique_ptr< DynExp::UpdateTaskBase > | MakeUpdateTask () const override |
Factory function for an update task (UpdateTaskBase ). Override to define the desired update task in derived classes only if the respective task really does something and if it has no pure virtual function. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... > | |
gRPCInstrument (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params) | |
Constructs an instrument instance. More... | |
Data stream instrument for bidirectional gRPC communication.
BaseInstr | BaseInstr Meta instrument the parent class DynExpInstr::gRPCInstrument derives from. |
enable_if_t | Internal check whether BaseInstr is derived from DynExpInstr::DataStreamInstrument . Pass 0. |
...gRPCStubs | gRPC stub classes of derived instruments which are used by them to transfer data. |
Definition at line 450 of file NetworkDataStreamInstrument.h.
using DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr,, gRPCStubs >::ConfigType = NetworkDataStreamInstrumentConfigurator<BaseInstr, 0, gRPCStubs...> |
Definition at line 454 of file NetworkDataStreamInstrument.h.
using DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr,, gRPCStubs >::InstrumentDataType = NetworkDataStreamInstrumentData<BaseInstr, 0, gRPCStubs...> |
Definition at line 455 of file NetworkDataStreamInstrument.h.
using DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr,, gRPCStubs >::ParamsType = NetworkDataStreamInstrumentParams<BaseInstr, 0, gRPCStubs...> |
Definition at line 453 of file NetworkDataStreamInstrument.h.
|
inline |
Definition at line 459 of file NetworkDataStreamInstrument.h.
|
inlinevirtual |
Definition at line 461 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 486 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Returns the name of this Object
type.
Reimplemented from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >.
Reimplemented in DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkAnalogInT< BaseInstr,, gRPCStubs >.
Definition at line 463 of file NetworkDataStreamInstrument.h.
|
inlinevirtual |
Read remote instrument's state periodically.
Definition at line 469 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 471 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 477 of file NetworkDataStreamInstrument.h.
|
inlineoverrideprivatevirtual |
Factory function for an exit task (ExitTaskBase
). Override to define the desired deinitialization task in derived classes only if the respective task really does something and if it has no pure virtual function.
MakeTask()
. Reimplemented from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >.
Reimplemented in DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkAnalogInT< BaseInstr,, gRPCStubs >.
Definition at line 502 of file NetworkDataStreamInstrument.h.
|
inlineoverrideprivatevirtual |
Factory function for an init task (InitTaskBase
). Override to define the desired initialization task in derived classes only if the respective task really does something and if it has no pure virtual function.
MakeTask()
. Reimplemented from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >.
Reimplemented in DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkAnalogInT< BaseInstr,, gRPCStubs >.
Definition at line 501 of file NetworkDataStreamInstrument.h.
|
inlineoverrideprivatevirtual |
Factory function for an update task (UpdateTaskBase
). Override to define the desired update task in derived classes only if the respective task really does something and if it has no pure virtual function.
MakeTask()
. Reimplemented from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >.
Reimplemented in DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkAnalogInT< BaseInstr,, gRPCStubs >.
Definition at line 503 of file NetworkDataStreamInstrument.h.
|
inlinestaticconstexprnoexcept |
Definition at line 457 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Reimplemented in DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >.
Definition at line 484 of file NetworkDataStreamInstrument.h.
|
inlinefinaloverrideprivate |
Definition at line 494 of file NetworkDataStreamInstrument.h.
|
inlineprivatevirtual |
Definition at line 499 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 491 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 489 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 490 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 487 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 488 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Reimplemented in DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkAnalogInT< BaseInstr,, gRPCStubs >.
Definition at line 485 of file NetworkDataStreamInstrument.h.