Aliases support

This commit is contained in:
micialware committed 2026-09-16 12:18:40 +03:00
1 parent 24818c99e5
commit 4633ac71f9
2 files changed
+11 -12

No files matched your search

+5 -1
View File
@@ -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
View File
@@ -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() {}
}