2024-05-29 17:29:20 +01:00
|
|
|
use bft_json_crdt::keypair::Ed25519KeyPair;
|
|
|
|
|
use tokio::time::{self};
|
2024-05-29 16:35:00 +01:00
|
|
|
use websockets::WebSocket;
|
|
|
|
|
|
2024-05-29 17:29:20 +01:00
|
|
|
/// Starts a websocket and periodically sends a BFT-CRDT message to the websocket server
|
|
|
|
|
pub(crate) async fn start(keys: Ed25519KeyPair) -> Result<(), websockets::WebSocketError> {
|
2024-05-29 16:35:00 +01:00
|
|
|
let mut ws = WebSocket::connect("ws://localhost:8080/").await?;
|
|
|
|
|
|
2024-05-29 17:29:20 +01:00
|
|
|
let mut interval = time::interval(time::Duration::from_secs(2));
|
2024-05-29 16:35:00 +01:00
|
|
|
loop {
|
2024-05-29 17:29:20 +01:00
|
|
|
interval.tick().await;
|
|
|
|
|
println!("Sending: period");
|
|
|
|
|
ws.send_text("period".to_string()).await?;
|
2024-05-29 16:35:00 +01:00
|
|
|
let msg = ws.receive().await?;
|
2024-05-29 17:29:20 +01:00
|
|
|
|
2024-05-29 16:35:00 +01:00
|
|
|
println!("Received: {:?}", msg);
|
|
|
|
|
}
|
|
|
|
|
}
|