feat: async methods

This commit is contained in:
Nova
2023-09-02 19:49:53 -04:00
parent 5634729445
commit 6f4da69e36
9 changed files with 305 additions and 270 deletions

View File

@@ -3,6 +3,7 @@ use crate::{
core::{
client::{Client, INTERNAL_CLIENT},
registry::Registry,
scenegraph::MethodResponseSender,
},
nodes::{
items::TypeInfo,
@@ -50,11 +51,14 @@ impl EnvironmentItem {
node: &Node,
_calling_client: Arc<Client>,
_message: Message,
) -> Result<Message> {
let ItemType::Environment(environment_item) = &node.item.get().unwrap().specialization else {
response: MethodResponseSender,
) {
response.wrap_sync(move || {
let ItemType::Environment(environment_item) = &node.item.get().unwrap().specialization else {
return Err(eyre!("Wrong item type?"))
};
Ok(serialize(environment_item.path.as_str())?.into())
Ok(serialize(environment_item.path.as_str())?.into())
});
}
pub fn serialize_start_data(&self, id: &str) -> Result<Message> {