Service Client Example
This example demonstrates how to call a Mirror Service using rustecal
.
Example Code
use rustecal::{Ecal, EcalComponents, ServiceClient, ServiceRequest}; fn main() -> Result<(), Box<dyn std::error::Error>> { Ecal::initialize(Some("mirror_client"), EcalComponents::DEFAULT)?; println!("mirror_client initialized. Sending requests…"); let client = ServiceClient::new("mirror_service")?; let request_data = b"Hello, Service!"; let timeout = Some(500); while Ecal::ok() { let request = ServiceRequest { payload: request_data.to_vec(), }; // Call the "mirror" method if let Some(response) = client.call("mirror", request, timeout) { // Extract the echoed payload let echoed = String::from_utf8_lossy(&response.payload); println!("Received response: {}", echoed); } else { println!("Service call timed out."); } std::thread::sleep(std::time::Duration::from_millis(500)); } Ecal::finalize(); Ok(()) }