pub struct ClientJob { /* private fields */ }
Expand description
Return object for submit_ functions.
Implementations§
source§impl ClientJob
impl ClientJob
sourcepub fn handle(&self) -> &ServerHandle
pub fn handle(&self) -> &ServerHandle
returns the job handle
Examples found in repository?
examples/multiserver.rs (line 26)
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
async fn main() -> Result<(), Box<dyn std::error::Error>> {
env_logger::init();
let mut client = Client::new()
.add_server("127.0.0.1:4730")
.add_server("127.0.0.1:4731")
.connect()
.await?;
println!("Connected!");
println!("Echo: {:?}", client.echo(b"blah").await);
let mut jobs = Vec::new();
for x in 0..10 {
let payload = format!("payload{}", x);
jobs.push(client.submit("reverse", payload.as_bytes()).await?);
}
println!(
"Submitted {}",
jobs.iter().map(|j| format!("{}", j)).collect::<String>()
);
for job in jobs.iter_mut() {
let response = job.response().await;
println!("Response for [{:?}] is [{:?}]", job.handle(), response)
}
Ok(())
}
More examples
examples/client.rs (line 13)
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
async fn main() -> Result<(), Box<dyn std::error::Error>> {
env_logger::init();
let server = "127.0.0.1:4730";
let mut client = Client::new().add_server(server).connect().await?;
println!("Connected!");
println!("Echo: {:?}", client.echo(b"blah").await);
let job = client.submit_background("reverse", b"abcdefg").await?;
println!("Submitted {:?}", job.handle());
let status = client.get_status(job.handle()).await?;
println!("Status {:?}", status);
let mut job = client.submit("reverse", b"bloop").await?;
println!("Submitted {:?}", job.handle());
let response = job.response().await?;
println!("Got Back {:?}", response);
let mut job = client.submit_unique("reverse", b"bloop1", b"bloop").await?;
println!("Submitted unique {:?}", job.handle());
let response = job.response().await?;
println!("Got Back {:?}", response);
Ok(())
}
sourcepub async fn response(&mut self) -> Result<WorkUpdate, Error>
pub async fn response(&mut self) -> Result<WorkUpdate, Error>
Should only return when the worker has sent data or completed the job.
Use this in clients to wait for a response on a job that was submitted. This will return an error if used on a background job.
Examples found in repository?
examples/multiserver.rs (line 25)
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
async fn main() -> Result<(), Box<dyn std::error::Error>> {
env_logger::init();
let mut client = Client::new()
.add_server("127.0.0.1:4730")
.add_server("127.0.0.1:4731")
.connect()
.await?;
println!("Connected!");
println!("Echo: {:?}", client.echo(b"blah").await);
let mut jobs = Vec::new();
for x in 0..10 {
let payload = format!("payload{}", x);
jobs.push(client.submit("reverse", payload.as_bytes()).await?);
}
println!(
"Submitted {}",
jobs.iter().map(|j| format!("{}", j)).collect::<String>()
);
for job in jobs.iter_mut() {
let response = job.response().await;
println!("Response for [{:?}] is [{:?}]", job.handle(), response)
}
Ok(())
}
More examples
examples/client.rs (line 18)
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
async fn main() -> Result<(), Box<dyn std::error::Error>> {
env_logger::init();
let server = "127.0.0.1:4730";
let mut client = Client::new().add_server(server).connect().await?;
println!("Connected!");
println!("Echo: {:?}", client.echo(b"blah").await);
let job = client.submit_background("reverse", b"abcdefg").await?;
println!("Submitted {:?}", job.handle());
let status = client.get_status(job.handle()).await?;
println!("Status {:?}", status);
let mut job = client.submit("reverse", b"bloop").await?;
println!("Submitted {:?}", job.handle());
let response = job.response().await?;
println!("Got Back {:?}", response);
let mut job = client.submit_unique("reverse", b"bloop1", b"bloop").await?;
println!("Submitted unique {:?}", job.handle());
let response = job.response().await?;
println!("Got Back {:?}", response);
Ok(())
}
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ClientJob
impl !RefUnwindSafe for ClientJob
impl Send for ClientJob
impl Sync for ClientJob
impl Unpin for ClientJob
impl !UnwindSafe for ClientJob
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more