Incorporate Step, Description

This commit is contained in:
Tony Garnock-Jones 2023-02-08 22:27:41 +01:00
parent ddc94bfa60
commit 6ec6bbaf41
8 changed files with 18 additions and 16 deletions

View File

@ -49,8 +49,7 @@ async fn main() -> ActorResult {
})?;
Ok(None)
});
Ok(())
})
}).await??;
Ok(())
}

View File

@ -16,8 +16,9 @@ pub fn dirty_resolve(stream: &mut TcpStream, dataspace: &str) -> Result<(), Box<
let iolang = Language::<IOValue>::default();
let sturdyref = sturdy::SturdyRef::from_hex(dataspace)?;
let sturdyref: IOValue = syndicate::language().unparse(&sturdyref)
.copy_via(&mut |_| Err("no!"))?;
let sturdyref = iolang.parse::<gatekeeper::Step<IOValue>>(
&syndicate::language().unparse(&sturdyref)
.copy_via(&mut |_| Err("no!"))?)?;
let resolve_turn = P::Turn(vec![
P::TurnEvent {

View File

@ -199,8 +199,7 @@ async fn main() -> ActorResult {
}
Ok(None)
});
Ok(())
})
}).await??;
Ok(())
}

View File

@ -46,8 +46,7 @@ async fn main() -> ActorResult {
}
});
Ok(None)
});
Ok(())
})
}).await??;
Ok(())
}

View File

@ -70,8 +70,7 @@ async fn main() -> ActorResult {
})?;
Ok(None)
});
Ok(())
})
}).await??;
Ok(())
}

View File

@ -42,8 +42,7 @@ async fn main() -> ActorResult {
}
});
Ok(None)
});
Ok(())
})
}).await??;
Ok(())
}

View File

@ -114,10 +114,11 @@ pub fn handle_resolves(
t: &mut Activation,
a: gatekeeper::Resolve,
) -> DuringResult<Arc<Cap>> {
if let Ok(s) = language().parse::<sturdy::SturdyStep>(&a.step) {
let step = language().unparse(&a.step);
if let Ok(s) = language().parse::<sturdy::SturdyStep>(&step) {
return handle_resolve_sturdyref(ds, t, s.0, a.observer);
}
if let Ok(s) = language().parse::<noise::NoiseStep<AnyValue>>(&a.step) {
if let Ok(s) = language().parse::<noise::NoiseStep<AnyValue>>(&step) {
return handle_resolve_noise(ds, t, s.service.0, a.observer);
}
eventually_retract(ds.assert(t, language(), &gatekeeper::Rejected {

View File

@ -185,7 +185,7 @@ pub fn connect_stream<I, O, Step, E, F>(
step: Step,
initial_state: E,
mut f: F,
) where
) -> ActorResult where
I: 'static + Send + AsyncRead,
O: 'static + Send + AsyncWrite,
Step: for<'a> Unparse<&'a Language<AnyValue>, AnyValue>,
@ -199,10 +199,15 @@ pub fn connect_stream<I, O, Step, E, F>(
let denotation = a.value().to_embedded()?;
f(state, t, Arc::clone(denotation))
}));
let step = language().unparse(&step);
let step = step.value().to_record(None)?;
let step_type = step.label().value().to_symbol()?.clone();
let step = gatekeeper::Step { step_type, details: step.fields_vec().clone() };
gatekeeper.assert(t, language(), &gatekeeper::Resolve::<AnyValue> {
step: language().unparse(&step),
step,
observer: Cap::new(&main_entity),
});
Ok(())
}
impl std::fmt::Debug for Membrane {