diff --git a/examples/demo.rs b/examples/demo.rs index 0a337ba..03ebb47 100644 --- a/examples/demo.rs +++ b/examples/demo.rs @@ -1,10 +1,14 @@ -use remote_marker::push; +use std::time::{Instant, SystemTime}; +use remote_marker::{alias, push, set}; fn main() { println!("Hello, world!"); + let time = Instant::now(); + alias("stack", SystemTime::UNIX_EPOCH.elapsed().unwrap().as_secs().to_string().as_str()); push("stack", 5); push("stack", 6); push("stack", 8); push("stack", 9); push("stack", 1000); + set("val", time.elapsed()); } \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs index 5f738fc..59e7b83 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -11,32 +11,27 @@ pub fn set>(key: &str, value: T) { send_with_header("SET:", key, value); } +pub fn alias(id: &str, alias: &str) +{ + send_with_header("ALIAS:", id, alias); +} + fn send_with_header>(header: &str, key: &str, value: T) { if let Some(dest) = env::var("REMOTE_MARKS").ok() { - println!("Sending with header: {}", key); let header_len = header.len(); let socket = UdpSocket::bind("0.0.0.0:0").unwrap(); socket.connect(dest.as_str()).unwrap(); let mut buffer = [0; 1024]; buffer[..header_len].copy_from_slice(header.as_bytes()); let mut enc = Encoder::new(&mut buffer[header_len..]); - enc.begin_array() - .unwrap() - .str_len(key.len() as u64) + enc.array(2) .unwrap() .str(&key) .unwrap().encode(value).unwrap(); let amount = enc.writer().len(); let encoded = buffer.len() - amount; - println!("Sending {} bytes", encoded); let sending = &buffer[..encoded]; _ = socket.send(&sending); } } - -#[cfg(test)] -mod tests { - #[test] - fn it_works() {} -}