DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Defines a meta instrument template for transforming meta instruments into network instruments, which connect to gRPC servers. More...
Go to the source code of this file.
Classes | |
class | DynExpInstr::gRPCInstrumentTasks::InitTask< BaseInstr,, gRPCStubs > |
Defines a task for initializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by an initialization task class derived from InitTaskBase . Even if the task does not do anything, at least it has to call InitTaskBase::InitFuncImpl() of the derived instrument's initialization task class. More... | |
class | DynExpInstr::gRPCInstrumentTasks::ExitTask< BaseInstr,, gRPCStubs > |
Defines a task for deinitializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by a deinitialization task class derived from ExitTaskBase . Even if the task does not do anything, at least it has to call ExitTaskBase::ExitFuncImpl() of the derived instrument's deinitialization task class. More... | |
class | DynExpInstr::gRPCInstrumentTasks::UpdateTask< BaseInstr,, gRPCStubs > |
Defines a task for updating an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by an update task class derived from UpdateTaskBase . Even if the task does not do anything, at least it has to call UpdateTaskBase::UpdateFuncImpl() of the derived instrument's update task class. More... | |
class | DynExpInstr::gRPCInstrumentData< BaseInstr,, gRPCStubs > |
Data class for gRPCInstrument . More... | |
class | DynExpInstr::gRPCInstrumentParams< BaseInstr,, gRPCStubs > |
Parameter class for gRPCInstrument . More... | |
class | DynExpInstr::gRPCInstrumentConfigurator< BaseInstr,, gRPCStubs > |
Configurator class for gRPCInstrument . More... | |
class | DynExpInstr::gRPCInstrument< BaseInstr,, gRPCStubs > |
Meta instrument template for transforming meta instruments into network instruments, which connect to TCP sockets of gRPC servers. Derive from this class to build a network instrument based on a meta instrument. The network instrument connects to a corresponding server implemented with the DynExpModule::gRPCModule gRPC server module. The server controls the physical instrument itself. The respective meta instrument is selected as a template parameter. This class derives from the instrument. It is possible to use DynExp::InstrumentBase as the meta instrument to design network instruments, which allow accessing gRPC services directly. More... | |
Namespaces | |
DynExpInstr | |
DynExp's instrument namespace contains the implementation of DynExp instruments which extend DynExp's core functionality in a modular way. | |
DynExpInstr::gRPCInstrumentTasks | |
Tasks for gRPCInstrument . | |
Typedefs | |
template<typename gRPCStub > | |
using | DynExpInstr::StubPtrType = std::shared_ptr< typename gRPCStub::Stub > |
Alias for a pointer to a gRPC stub. More... | |
template<typename gRPCStub , typename RequestMsgType , typename ResponseMsgType > | |
using | DynExpInstr::StubFuncPtrType = grpc::Status(gRPCStub::*)(grpc::ClientContext *, const RequestMsgType &, ResponseMsgType *) |
Alias for a pointer to a gRPC stub function, which can be invoked as a remote procedure call. More... | |
Functions | |
template<typename gRPCStub , typename RequestMsgType , typename ResponseMsgType > | |
ResponseMsgType | DynExpInstr::InvokeStubFunc (StubPtrType< gRPCStub > StubPtr, StubFuncPtrType< gRPCStub, RequestMsgType, ResponseMsgType > StubFunc, const RequestMsgType &RequestMsg) |
Invokes a gRPC stub function as a remote procedure call. Waits for a fixed amount of time (2 seconds) for a reply from the server until the call is considered to have exceeded its deadline. More... | |
Defines a meta instrument template for transforming meta instruments into network instruments, which connect to gRPC servers.
Definition in file gRPCInstrument.h.