Use syndicate-macros crate in syndicate-server
This commit is contained in:
parent
82dd821d35
commit
5bb665ef62
|
@ -6,6 +6,7 @@ edition = "2018"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
syndicate = { path = "../syndicate", version = "^0.2.0" }
|
syndicate = { path = "../syndicate", version = "^0.2.0" }
|
||||||
|
syndicate-macros = { path = "../syndicate-macros", version = "^0.2.0" }
|
||||||
|
|
||||||
futures = "0.3.5"
|
futures = "0.3.5"
|
||||||
|
|
||||||
|
|
|
@ -19,9 +19,7 @@ use syndicate::schemas::internal_protocol::_Any;
|
||||||
use syndicate::schemas::gatekeeper;
|
use syndicate::schemas::gatekeeper;
|
||||||
use syndicate::sturdy;
|
use syndicate::sturdy;
|
||||||
|
|
||||||
use syndicate::value::Map;
|
|
||||||
use syndicate::value::NestedValue;
|
use syndicate::value::NestedValue;
|
||||||
use syndicate::value::Value;
|
|
||||||
|
|
||||||
use tokio::net::TcpListener;
|
use tokio::net::TcpListener;
|
||||||
use tokio::net::TcpStream;
|
use tokio::net::TcpStream;
|
||||||
|
@ -286,7 +284,6 @@ fn handle_resolve(
|
||||||
a: gatekeeper::Resolve,
|
a: gatekeeper::Resolve,
|
||||||
) -> DuringResult<Arc<Cap>> {
|
) -> DuringResult<Arc<Cap>> {
|
||||||
use syndicate::schemas::dataspace;
|
use syndicate::schemas::dataspace;
|
||||||
use syndicate::schemas::dataspace_patterns as p;
|
|
||||||
|
|
||||||
let gatekeeper::Resolve { sturdyref, observer } = a;
|
let gatekeeper::Resolve { sturdyref, observer } = a;
|
||||||
let queried_oid = sturdyref.oid.clone();
|
let queried_oid = sturdyref.oid.clone();
|
||||||
|
@ -316,23 +313,7 @@ fn handle_resolve(
|
||||||
.create_cap(t.state);
|
.create_cap(t.state);
|
||||||
if let Some(oh) = ds.assert(t, &dataspace::Observe {
|
if let Some(oh) = ds.assert(t, &dataspace::Observe {
|
||||||
// TODO: codegen plugin to generate pattern constructors
|
// TODO: codegen plugin to generate pattern constructors
|
||||||
pattern: p::Pattern::DCompound(Box::new(p::DCompound::Rec {
|
pattern: syndicate_macros::pattern!("<bind =queried_oid $ $>"),
|
||||||
ctor: Box::new(p::CRec {
|
|
||||||
label: Value::symbol("bind").wrap(),
|
|
||||||
arity: 3.into(),
|
|
||||||
}),
|
|
||||||
members: Map::from_iter(vec![
|
|
||||||
(0.into(), p::Pattern::DLit(Box::new(p::DLit {
|
|
||||||
value: queried_oid,
|
|
||||||
}))),
|
|
||||||
(1.into(), p::Pattern::DBind(Box::new(p::DBind {
|
|
||||||
pattern: p::Pattern::DDiscard(Box::new(p::DDiscard)),
|
|
||||||
}))),
|
|
||||||
(2.into(), p::Pattern::DBind(Box::new(p::DBind {
|
|
||||||
pattern: p::Pattern::DDiscard(Box::new(p::DDiscard)),
|
|
||||||
}))),
|
|
||||||
].into_iter())
|
|
||||||
})),
|
|
||||||
observer: handler,
|
observer: handler,
|
||||||
}) {
|
}) {
|
||||||
Ok(Some(Box::new(move |_ds, t| Ok(t.retract(oh)))))
|
Ok(Some(Box::new(move |_ds, t| Ok(t.retract(oh)))))
|
||||||
|
|
Loading…
Reference in New Issue