2023-06-08 20:33:05 +00:00
|
|
|
///
|
|
|
|
/// $ cargo run --example simple_client
|
|
|
|
///
|
2023-06-01 21:47:38 +00:00
|
|
|
use redis::{
|
|
|
|
//RedisResult,
|
|
|
|
Client,
|
|
|
|
Commands,
|
|
|
|
Connection,
|
|
|
|
};
|
|
|
|
|
2023-06-08 20:23:01 +00:00
|
|
|
use std::time::Instant;
|
|
|
|
|
2023-06-01 21:47:38 +00:00
|
|
|
fn do_something() -> redis::RedisResult<()> {
|
|
|
|
let client = Client::open("redis://127.0.0.1/")?;
|
|
|
|
let mut con: Connection = client.get_connection()?;
|
2023-06-08 20:23:01 +00:00
|
|
|
let start = Instant::now();
|
2023-08-23 11:13:53 +00:00
|
|
|
|
2023-06-08 20:23:01 +00:00
|
|
|
loop {
|
2023-08-23 11:13:53 +00:00
|
|
|
let elapsed = start.elapsed();
|
|
|
|
let time = 60.0 * elapsed.as_millis() as f32 / 1000.0;
|
|
|
|
|
|
|
|
let mut v: Vec<(f32, f32, u32)> = vec![];
|
2023-06-08 20:23:01 +00:00
|
|
|
|
2023-08-23 11:13:53 +00:00
|
|
|
for i in 0..128 {
|
|
|
|
let a = (time + i as f32) / 128.0 * std::f32::consts::PI * 2.0;
|
|
|
|
let r = 1200.0 + (a * 5.0).cos() * (500.0 * (time / 5.0).cos());
|
2023-06-08 20:23:01 +00:00
|
|
|
|
2023-08-23 11:13:53 +00:00
|
|
|
let x = a.cos() * r;
|
|
|
|
let y = a.sin() * r;
|
|
|
|
let col = if i % 8 < 4 { 0x000000ff } else { 0x00ff0000 };
|
|
|
|
v.push((x, y, col));
|
|
|
|
}
|
|
|
|
// println!("{:?}", v);
|
|
|
|
let _ = con.set("/pl/0/0", format!("{:?}", v))?;
|
2023-06-08 20:23:01 +00:00
|
|
|
}
|
|
|
|
// Ok(())
|
2023-06-01 21:47:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2023-06-04 13:09:15 +00:00
|
|
|
_ = do_something();
|
2023-06-01 21:47:38 +00:00
|
|
|
}
|