kairosdb 0.1.1

Client for the KairosDB REST API
Documentation
use std::collections::HashMap;
use chrono::{DateTime, TimeZone};

#[derive(Serialize, Deserialize, Debug)]
pub struct Datapoints {
    name: String,
    datapoints: Vec<(i64, f64)>,
    tags: HashMap<String,String>,
    ttl: u32
}

impl Datapoints {
    pub fn new(name: &str, ttl: u32) -> Datapoints {
        Datapoints{
            name: name.to_string(),
            datapoints: Vec::new(),
            tags: HashMap::new(),
            ttl: ttl
        }
    }

    pub fn add<Tz: TimeZone>(&mut self , datetime: DateTime<Tz>, value: f64) {
        self.datapoints.push((datetime.timestamp() * 1000, value));
    }

    pub fn add_ms(&mut self , ns: i64, value: f64) {
        self.datapoints.push((ns, value));
    }

    pub fn add_tag(&mut self, name: &str, value: &str) {
        self.tags.insert(name.to_string(), value.to_string());
    }
}