|
DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Data stream instrument for bidirectional gRPC communication. More...
#include <NetworkDataStreamInstrument.h>
Inheritance diagram for DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr,, gRPCStubs >: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. " | |
| 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. | |
| 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. | |
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. | |
| virtual std::chrono::milliseconds | GetTaskQueueDelay () const |
| Read remote instrument's state periodically. | |
| 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. | |
Static Public Member Functions | |
| static constexpr auto | Name () noexcept |
Static Public Member Functions inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... > | |
| static constexpr auto | Name () noexcept |
| Every derived class has to redefine this function. | |
| static constexpr auto | Category () noexcept |
| Every derived class has to redefine this function. | |
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. | |
| 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. | |
| 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. | |
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. | |
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 435 of file NetworkDataStreamInstrument.h.
| using DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr,, gRPCStubs >::ConfigType = NetworkDataStreamInstrumentConfigurator<BaseInstr, 0, gRPCStubs...> |
Definition at line 439 of file NetworkDataStreamInstrument.h.
| using DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr,, gRPCStubs >::InstrumentDataType = NetworkDataStreamInstrumentData<BaseInstr, 0, gRPCStubs...> |
Definition at line 440 of file NetworkDataStreamInstrument.h.
| using DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr,, gRPCStubs >::ParamsType = NetworkDataStreamInstrumentParams<BaseInstr, 0, gRPCStubs...> |
Definition at line 438 of file NetworkDataStreamInstrument.h.
|
inline |
Definition at line 444 of file NetworkDataStreamInstrument.h.
|
inlinevirtual |
Definition at line 446 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 471 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Returns the name of this Object type.
Reimplemented from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >.
Reimplemented in DynExpInstr::NetworkAnalogInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >.
Definition at line 448 of file NetworkDataStreamInstrument.h.
|
inlinevirtual |
Read remote instrument's state periodically.
Definition at line 454 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 456 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 462 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::NetworkAnalogInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >.
Definition at line 487 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::NetworkAnalogInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >.
Definition at line 486 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::NetworkAnalogInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >.
Definition at line 488 of file NetworkDataStreamInstrument.h.
|
inlinestaticconstexprnoexcept |
Definition at line 442 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Reimplemented in DynExpInstr::NetworkAnalogOutT< BaseInstr,, gRPCStubs >, DynExpInstr::NetworkDigitalOutT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >.
Definition at line 469 of file NetworkDataStreamInstrument.h.
|
inlinefinaloverrideprivate |
Definition at line 479 of file NetworkDataStreamInstrument.h.
|
inlineprivatevirtual |
Definition at line 484 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 476 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 474 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 475 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 472 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Definition at line 473 of file NetworkDataStreamInstrument.h.
|
inlineoverridevirtual |
Reimplemented in DynExpInstr::NetworkAnalogInT< BaseInstr,, gRPCStubs >, and DynExpInstr::NetworkDigitalInT< BaseInstr,, gRPCStubs >.
Definition at line 470 of file NetworkDataStreamInstrument.h.