momento_functions_host/
spawn.rs1use momento_functions_wit::host::momento::host::spawn::{self, SpawnError};
2
3use crate::{FunctionResult, encoding::Encode};
4
5pub fn spawn(function_name: impl AsRef<str>, payload: impl Encode) -> FunctionResult<()> {
16 spawn::spawn_function(function_name.as_ref(), &payload.try_serialize()?.into())
17 .map_err(Into::into)
18}
19
20impl From<SpawnError> for crate::Error {
21 fn from(value: SpawnError) -> Self {
22 match value {
23 SpawnError::FunctionNotFound => {
24 crate::Error::MessageError("function not found".to_string())
25 }
26 SpawnError::SpawnFailed(failed) => crate::Error::MessageError(failed),
27 SpawnError::Limit(limit) => crate::Error::MessageError(limit),
28 }
29 }
30}