Simplify examples

This commit is contained in:
Tony Garnock-Jones 2021-09-28 13:00:48 +02:00
parent 013e99af70
commit 982a258a8c
5 changed files with 258 additions and 296 deletions

View File

@ -23,14 +23,10 @@ pub struct Config {
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
syndicate::convenient_logging()?;
Actor::new().boot(syndicate::name!("consumer"), |t| {
let facet = t.facet.clone();
let boot_account = Arc::clone(t.account());
Ok(t.linked_task(tracing::Span::current(), async move {
let config = Config::from_args();
let sturdyref = sturdy::SturdyRef::from_hex(&config.dataspace)?;
let (i, o) = TcpStream::connect("127.0.0.1:8001").await?.into_split();
facet.activate(boot_account, |t| {
Actor::new().boot(syndicate::name!("consumer"), |t| {
relay::connect_stream(t, i, o, sturdyref, (), |_state, t, ds| {
let consumer = syndicate::entity(0)
.on_message(|message_count, _t, m: AnyValue| {
@ -63,9 +59,6 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
Ok(None)
});
Ok(())
})?;
Ok(LinkedTaskTermination::KeepFacet)
}))
}).await??;
Ok(())
}

View File

@ -90,15 +90,10 @@ fn report_latencies(rtt_ns_samples: &Vec<u64>) {
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
syndicate::convenient_logging()?;
Actor::new().boot(syndicate::name!("pingpong"), |t| {
let facet = t.facet.clone();
let boot_account = Arc::clone(t.account());
Ok(t.linked_task(tracing::Span::current(), async move {
let config = Config::from_args();
let sturdyref = sturdy::SturdyRef::from_hex(&config.dataspace)?;
let (i, o) = TcpStream::connect("127.0.0.1:8001").await?.into_split();
facet.activate(boot_account, |t| {
Actor::new().boot(syndicate::name!("pingpong"), |t| {
relay::connect_stream(t, i, o, sturdyref, (), move |_state, t, ds| {
let (send_label, recv_label, report_latency_every, should_echo, bytes_padding) =
@ -217,9 +212,6 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
Ok(None)
});
Ok(())
})?;
Ok(LinkedTaskTermination::KeepFacet)
}))
}).await??;
Ok(())
}

View File

@ -1,5 +1,3 @@
use std::sync::Arc;
use structopt::StructOpt;
use syndicate::actor::*;
@ -33,14 +31,10 @@ fn says(who: AnyValue, what: AnyValue) -> AnyValue {
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
syndicate::convenient_logging()?;
Actor::new().boot(syndicate::name!("producer"), |t| {
let facet = t.facet.clone();
let boot_account = Arc::clone(t.account());
Ok(t.linked_task(tracing::Span::current(), async move {
let config = Config::from_args();
let sturdyref = sturdy::SturdyRef::from_hex(&config.dataspace)?;
let (i, o) = TcpStream::connect("127.0.0.1:8001").await?.into_split();
facet.activate(boot_account, |t| {
Actor::new().boot(syndicate::name!("producer"), |t| {
relay::connect_stream(t, i, o, sturdyref, (), move |_state, t, ds| {
let padding: AnyValue = Value::ByteString(vec![0; config.bytes_padding]).wrap();
let action_count = config.action_count;
@ -60,9 +54,6 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
Ok(None)
});
Ok(())
})?;
Ok(LinkedTaskTermination::KeepFacet)
}))
}).await??;
Ok(())
}

View File

@ -23,14 +23,10 @@ pub struct Config {
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
syndicate::convenient_logging()?;
Actor::new().boot(syndicate::name!("state-consumer"), |t| {
let facet = t.facet.clone();
let boot_account = Arc::clone(t.account());
Ok(t.linked_task(tracing::Span::current(), async move {
let config = Config::from_args();
let sturdyref = sturdy::SturdyRef::from_hex(&config.dataspace)?;
let (i, o) = TcpStream::connect("127.0.0.1:8001").await?.into_split();
facet.activate(boot_account, |t| {
Actor::new().boot(syndicate::name!("state-consumer"), |t| {
relay::connect_stream(t, i, o, sturdyref, (), |_state, t, ds| {
let consumer = {
#[derive(Default)]
@ -84,9 +80,6 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
Ok(None)
});
Ok(())
})?;
Ok(LinkedTaskTermination::KeepFacet)
}))
}).await??;
Ok(())
}

View File

@ -19,14 +19,10 @@ pub struct Config {
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
syndicate::convenient_logging()?;
Actor::new().boot(syndicate::name!("state-producer"), |t| {
let facet = t.facet.clone();
let boot_account = Arc::clone(t.account());
Ok(t.linked_task(tracing::Span::current(), async move {
let config = Config::from_args();
let sturdyref = sturdy::SturdyRef::from_hex(&config.dataspace)?;
let (i, o) = TcpStream::connect("127.0.0.1:8001").await?.into_split();
facet.activate(boot_account, |t| {
Actor::new().boot(syndicate::name!("state-producer"), |t| {
relay::connect_stream(t, i, o, sturdyref, (), move |_state, t, ds| {
let account = Account::new(syndicate::name!("account"));
t.linked_task(syndicate::name!("sender"), async move {
@ -56,9 +52,6 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
Ok(None)
});
Ok(())
})?;
Ok(LinkedTaskTermination::KeepFacet)
}))
}).await??;
Ok(())
}