Implements the Persistent Configuration Repository adapter that uses the CII configuration service as the backend.
More...
|
| | PersistentRepoAdapter ()=delete |
| | Do not allow construction with no arguments.
|
| |
| | PersistentRepoAdapter (const PersistentRepoAdapter &)=delete |
| | This class cannot be copy constructed.
|
| |
| PersistentRepoAdapter & | operator= (const PersistentRepoAdapter &)=delete |
| | This class cannot be copy assigned.
|
| |
| | PersistentRepoAdapter (PersistentRepoAdapter &&)=default |
| | Objects of this class can be moved.
|
| |
| PersistentRepoAdapter & | operator= (PersistentRepoAdapter &&)=default |
| | Objects of this class can be moved with the move assignment operator.
|
| |
| | PersistentRepoAdapter (const elt::mal::Uri &baseuri, bool simple_layout=false) |
| | Constructs a Persistent Configuration Repository adapter backed by the CII configuration service.
|
| |
| elt::mal::Uri | GetUri () const override |
| | Get the URI used when creating this adapter object.
|
| |
| | ~PersistentRepoAdapter () override=default |
| |
| uint64_t | GetFitsWriteThreshold () const |
| | Return the number of elements above which matrices and vectors are written to FITS files.
|
| |
| void | SetFitsWriteThreshold (uint64_t value) |
| | Set the number of elements above which matrices and vectors are written to FITS files.
|
| |
| template<typename T> |
| Lut::TableEntries | BindTypeHandlers () |
| |
| | ~PersistentRepoIf () override=default |
| |
| | RepositoryIf ()=default |
| |
| virtual | ~RepositoryIf ()=default |
| |
| BatchResponse | SendRequest (const BatchRequest &request) |
| |
| BatchResponse | SendRequest (const BatchRequest &request) const |
| |
| template<typename T> |
| void | CreateDataPoint (const DataPointPath &path) |
| | Creates a new empty datapoint in the repository.
|
| |
| template<typename T> |
| void | CreateDataPoint (const DataPointPath &path, const T &initial_value) |
| | Creates a new datapoint in the repository with an initial value.
|
| |
| void | CreateDataPoint (const DataPointPath &path, const char *initial_value) |
| |
| void | DeleteDataPoint (const DataPointPath &path, bool recurse=false) |
| | Deletes a datapoint.
|
| |
| const std::type_info & | GetDataPointType (const DataPointPath &path) const |
| | Fetches the type of the datapoint.
|
| |
| size_t | GetDataPointSize (const DataPointPath &path) const |
| | Fetches the size of the datapoint's data.
|
| |
| RtcVectorUInt64 | GetDataPointShape (const DataPointPath &path) const |
| | Fetches the shape of the datapoint's data.
|
| |
| bool | DataPointExists (const DataPointPath &path) const |
| | Checks for the existence of a datapoint in the repository.
|
| |
| std::pair< PathList, PathList > | GetChildren (const DataPointPath &path, bool recurse=false) const |
| | Queries the child datapoints and paths for a given parent path.
|
| |
| template<typename T> |
| T | GetDataPoint (const DataPointPath &path) const |
| | Fetches a datapoint from the repository.
|
| |
| template<typename T> |
| std::optional< T > | TryGetDataPoint (const DataPointPath &path) const |
| | Fetches a datapoint from the repository.
|
| |
| template<typename T> |
| void | SetDataPoint (const DataPointPath &path, const T &value) |
| | Sets a datapoint in the repository.
|
| |
| void | SetDataPoint (const DataPointPath &path, const char *value) |
| |
| template<typename T> |
| void | ReadDataPoint (const DataPointPath &path, T &buffer) const |
| | Reads a datapoint from the repository.
|
| |
| template<typename T> |
| void | WriteDataPoint (const DataPointPath &path, const T &buffer) |
| | Writes a datapoint to the repository.
|
| |
| void | WriteDataPoint (const DataPointPath &path, const char *buffer) |
| |
| template<typename... T> |
| void | WriteDataPoints (const T &... args) |
| |
| template<typename... T> |
| void | ReadDataPoints (T &... args) const |
| |
|
| using | AdapterIdType = elt::mal::Uri |
| | The type used to distinguish between different adapters implementing RuntimeRepoIf.
|
| |
| using | PathList = std::vector<DataPointPath> |
| |
| using | Clock = taiclock::TaiClock |
| |
| using | Timestamp = Clock::time_point |
| |
| using | CallbackType = std::function<void(const DataPointPath&)> |
| | Signature of the callback functions that can be registered with the repository requests.
|
| |
| static std::unique_ptr< PersistentRepoIf > | CreateAdapter (const elt::mal::Uri &uri) |
| | Factory method used to create the appropriate Persistent Configuration Repository adapter depending on the URI scheme.
|
| |
| static const std::type_info & | StringToType (const std::string &arg) |
| | Converts an RTC datapoint type string to a type_info.
|
| |
| static std::string | TypeToString (const std::type_info &arg) |
| | Converts a type_info to an RTC datapoint type string.
|
| |
| static std::any | MakeAnyBuffer (const MetaData &metadata) |
| | Helper method to create an std::any buffer compatible with a specific datapoint.
|
| |
| using | RequestList = std::vector<std::any> |
| |
Implements the Persistent Configuration Repository adapter that uses the CII configuration service as the backend.
This class provides support for the cii.config:// URI scheme.
- Note
- This adapter implementation currently only supports local as the hostname part of the URI, e.g. cii.config://local.
- Warning
- Multiple threads in the same process can access the same instance of this object without race conditions. However, the underlying CII configuration service itself does not implement any locking mechanism itself. Therefore, there is no protection for concurrent access to the Persistent Configuration Repository from different processes.
- Thread Safety
- thread-safe