|
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 | |
| namespace | DynExpInstr |
| DynExp's instrument namespace contains the implementation of DynExp instruments which extend DynExp's core functionality in a modular way. | |
| namespace | 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. | |
| 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. | |
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. | |
Defines a meta instrument template for transforming meta instruments into network instruments, which connect to gRPC servers.
Definition in file gRPCInstrument.h.