Crate ice_rs[−][src]
Quick Start
This quick start guide will cover a client for the ZeroC Ice Minimal Sample. Create a binary application with cargo new minimal-client
and add ice-rs
to your [build-dependencies]
and [dependencies]
. Now add a build.rs
file with the following content:
use ice_rs::slice::parser;
use std::path::Path;
fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("cargo:rerun-if-changed=build.rs");
let ice_files = vec![
String::from("<path/to/Hello.ice>")
];
let root_module = parser::parse_ice_files(&input, ".")?;
root_module.generate(Path::new("./src/gen"))
}
Now add the following to you main.rs
:
use ice_rs::communicator::Communicator;
mod gen;
use crate::gen::demo::{Hello,HelloPrx};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
let mut comm = Communicator::new().await?;
let proxy = comm.string_to_proxy("hello:default -h localhost -p 10000").await?;
let mut hello_prx = HelloPrx::checked_cast(proxy).await?;
hello_prx.say_hello(None).await
}
Modules
adapter | |
communicator | |
encoding | |
errors | |
iceobject | |
initdata | |
locator | |
properties | |
protocol | |
proxy | |
proxy_factory | |
proxy_parser | |
slice | |
ssl | |
ssltools | |
tcp | |
transport |