Aliases support
This commit is contained in:
1 parent
24818c99e5
commit
4633ac71f9
2 files changed
+11
-12
No files matched your search
+5
-1
@@ -1,10 +1,14 @@
|
|||||||
use remote_marker::push;
|
use std::time::{Instant, SystemTime};
|
||||||
|
use remote_marker::{alias, push, set};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println!("Hello, world!");
|
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", 5);
|
||||||
push("stack", 6);
|
push("stack", 6);
|
||||||
push("stack", 8);
|
push("stack", 8);
|
||||||
push("stack", 9);
|
push("stack", 9);
|
||||||
push("stack", 1000);
|
push("stack", 1000);
|
||||||
|
set("val", time.elapsed());
|
||||||
}
|
}
|
||||||
+6
-11
@@ -11,32 +11,27 @@ pub fn set<T: minicbor::Encode<()>>(key: &str, value: T) {
|
|||||||
send_with_header("SET:", key, value);
|
send_with_header("SET:", key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn alias(id: &str, alias: &str)
|
||||||
|
{
|
||||||
|
send_with_header("ALIAS:", id, alias);
|
||||||
|
}
|
||||||
|
|
||||||
fn send_with_header<T: minicbor::Encode<()>>(header: &str, key: &str, value: T) {
|
fn send_with_header<T: minicbor::Encode<()>>(header: &str, key: &str, value: T) {
|
||||||
if let Some(dest) = env::var("REMOTE_MARKS").ok() {
|
if let Some(dest) = env::var("REMOTE_MARKS").ok() {
|
||||||
println!("Sending with header: {}", key);
|
|
||||||
let header_len = header.len();
|
let header_len = header.len();
|
||||||
let socket = UdpSocket::bind("0.0.0.0:0").unwrap();
|
let socket = UdpSocket::bind("0.0.0.0:0").unwrap();
|
||||||
socket.connect(dest.as_str()).unwrap();
|
socket.connect(dest.as_str()).unwrap();
|
||||||
let mut buffer = [0; 1024];
|
let mut buffer = [0; 1024];
|
||||||
buffer[..header_len].copy_from_slice(header.as_bytes());
|
buffer[..header_len].copy_from_slice(header.as_bytes());
|
||||||
let mut enc = Encoder::new(&mut buffer[header_len..]);
|
let mut enc = Encoder::new(&mut buffer[header_len..]);
|
||||||
enc.begin_array()
|
enc.array(2)
|
||||||
.unwrap()
|
|
||||||
.str_len(key.len() as u64)
|
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.str(&key)
|
.str(&key)
|
||||||
.unwrap().encode(value).unwrap();
|
.unwrap().encode(value).unwrap();
|
||||||
|
|
||||||
let amount = enc.writer().len();
|
let amount = enc.writer().len();
|
||||||
let encoded = buffer.len() - amount;
|
let encoded = buffer.len() - amount;
|
||||||
println!("Sending {} bytes", encoded);
|
|
||||||
let sending = &buffer[..encoded];
|
let sending = &buffer[..encoded];
|
||||||
_ = socket.send(&sending);
|
_ = socket.send(&sending);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
#[test]
|
|
||||||
fn it_works() {}
|
|
||||||
}
|
|
||||||
Reference in new issue
Block a user