| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- //! Interface to fill/query a timeseries database (InfluxDB).
-
- use std::time::Instant;
-
- use protocol::{Location, Value};
-
- // TODO: Configuration mechanism.
-
- /// Interface to InfluxDB.
- pub struct TimeSeriesDatabase {
- // TODO
- }
-
- impl TimeSeriesDatabase {
- /// Initializes the connection to InfluxDB.
- ///
- /// The function does not return an error. Instead, the code will automatically retry
- /// connection in case the connection cannot be established or the server closes the
- /// connection.
- pub fn init() -> TimeSeriesDatabase {
- // TODO
- TimeSeriesDatabase {}
- }
-
- /// Inserts values into the database.
- ///
- /// If there is no current connection to InfluxDB and the connection cannot be reestablished
- /// before the application is stopped, the values are lost. If multiple calls to this function
- /// occur while there is no current connection to InfluxDB, the values are queued and all
- /// values are inserted at a later time.
- ///
- /// # Arguments
- ///
- /// * `time` - time at which the values were received
- /// * `location` - location of the device which sent the values
- /// * `values` - list of values to be inserted into the database
- pub async fn insert(&mut self, _time: Instant, _location: Location, _values: &[Value]) {
- // TODO
- }
- }
|