mirror of
https://github.com/fluencelabs/marine-rs-sdk
synced 2025-03-15 14:30:48 +00:00
progress
This commit is contained in:
parent
e671e835a8
commit
a8fbe2ca6e
@ -16,10 +16,12 @@ all-features = true
|
|||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
path = "src/lib.rs"
|
path = "src/lib.rs"
|
||||||
|
name = "fluence"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
fluence-sdk-macro = { path = "crates/macro", version = "=0.5.0" }
|
fluence-sdk-macro = { path = "crates/macro", version = "=0.5.0" }
|
||||||
fluence-sdk-main = { path = "crates/main", version = "=0.5.0" }
|
fluence-sdk-main = { path = "crates/main", version = "=0.5.0" }
|
||||||
|
serde = "=1.0.118"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
# Print some internal logs by log_utf8_string
|
# Print some internal logs by log_utf8_string
|
||||||
|
@ -31,18 +31,11 @@
|
|||||||
)]
|
)]
|
||||||
#![warn(rust_2018_idioms)]
|
#![warn(rust_2018_idioms)]
|
||||||
|
|
||||||
mod call_parameters;
|
|
||||||
mod export_allocator;
|
mod export_allocator;
|
||||||
#[cfg(any(feature = "debug", feature = "logger"))]
|
#[cfg(any(feature = "debug", feature = "logger"))]
|
||||||
mod logger;
|
mod logger;
|
||||||
pub mod mounted_binary;
|
|
||||||
mod result;
|
mod result;
|
||||||
|
|
||||||
pub use call_parameters::CallParameters;
|
|
||||||
pub use call_parameters::SecurityTetraplet;
|
|
||||||
#[cfg(target_arch = "wasm32")]
|
|
||||||
pub use call_parameters::get_call_parameters;
|
|
||||||
|
|
||||||
pub use export_allocator::allocate;
|
pub use export_allocator::allocate;
|
||||||
pub use export_allocator::deallocate;
|
pub use export_allocator::deallocate;
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ fn check_record(record: &syn::ItemStruct) -> Result<()> {
|
|||||||
{
|
{
|
||||||
return Err(Error::new(
|
return Err(Error::new(
|
||||||
record.span(),
|
record.span(),
|
||||||
"#[fce] couldn't be applied to a struct with generics",
|
"#[fce] couldn't be applied to a struct with generics or lifetimes",
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,7 +145,9 @@ fn generate_mem_forget(
|
|||||||
|
|
||||||
match passing_style {
|
match passing_style {
|
||||||
// result will be deleted by IT side
|
// result will be deleted by IT side
|
||||||
Some(PassingStyle::ByValue) => quote! { std::mem::forget(result); },
|
Some(PassingStyle::ByValue) => {
|
||||||
|
quote! { fluence::internal::add_object_to_release(Box::new(result)); }
|
||||||
|
}
|
||||||
Some(PassingStyle::ByRef) | Some(PassingStyle::ByMutRef) => {
|
Some(PassingStyle::ByRef) | Some(PassingStyle::ByMutRef) => {
|
||||||
mem_forget_by_args(args, converted_args)
|
mem_forget_by_args(args, converted_args)
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,7 @@ fn generate_serializer_fn(record: &fce_ast_types::AstRecordItem) -> proc_macro2:
|
|||||||
#serializer
|
#serializer
|
||||||
|
|
||||||
let raw_record_ptr = raw_record.as_ptr();
|
let raw_record_ptr = raw_record.as_ptr();
|
||||||
std::mem::forget(raw_record);
|
fluence::internal::add_object_to_release(Box::new(raw_record));
|
||||||
|
|
||||||
raw_record_ptr as _
|
raw_record_ptr as _
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ pub fn get_call_parameters() -> CallParameters {
|
|||||||
// it's safe until it is executed on standard Fluence node with appropriate import function
|
// it's safe until it is executed on standard Fluence node with appropriate import function
|
||||||
unsafe {
|
unsafe {
|
||||||
get_call_raw_parameters();
|
get_call_raw_parameters();
|
||||||
let raw_call_parameters = crate::result::get_result_ptr();
|
let raw_call_parameters = crate::internal::get_result_ptr();
|
||||||
CallParameters::__fce_generated_deserialize(raw_call_parameters as _)
|
CallParameters::__fce_generated_deserialize(raw_call_parameters as _)
|
||||||
}
|
}
|
||||||
}
|
}
|
17
src/lib.rs
17
src/lib.rs
@ -67,21 +67,26 @@
|
|||||||
)]
|
)]
|
||||||
#![warn(rust_2018_idioms)]
|
#![warn(rust_2018_idioms)]
|
||||||
|
|
||||||
|
mod call_parameters;
|
||||||
|
mod mounted_binary;
|
||||||
|
|
||||||
|
extern crate self as fluence;
|
||||||
|
|
||||||
pub use fluence_sdk_macro::fce;
|
pub use fluence_sdk_macro::fce;
|
||||||
|
|
||||||
pub use fluence_sdk_main::CallParameters;
|
pub use call_parameters::CallParameters;
|
||||||
pub use fluence_sdk_main::SecurityTetraplet;
|
pub use call_parameters::SecurityTetraplet;
|
||||||
#[cfg(target_arch = "wasm32")]
|
#[cfg(target_arch = "wasm32")]
|
||||||
pub use fluence_sdk_main::get_call_parameters;
|
pub use call_parameters::get_call_parameters;
|
||||||
|
|
||||||
#[cfg(feature = "logger")]
|
#[cfg(feature = "logger")]
|
||||||
pub use fluence_sdk_main::WasmLoggerBuilder;
|
pub use fluence_sdk_main::WasmLoggerBuilder;
|
||||||
#[cfg(feature = "logger")]
|
#[cfg(feature = "logger")]
|
||||||
pub use fluence_sdk_main::TargetMap;
|
pub use fluence_sdk_main::TargetMap;
|
||||||
|
|
||||||
pub use fluence_sdk_main::mounted_binary::Result as MountedBinaryResult;
|
pub use mounted_binary::Result as MountedBinaryResult;
|
||||||
pub use fluence_sdk_main::mounted_binary::StringResult as MountedBinaryStringResult;
|
pub use mounted_binary::StringResult as MountedBinaryStringResult;
|
||||||
pub use fluence_sdk_main::mounted_binary::SUCCESS_CODE as BINARY_SUCCESS_CODE;
|
pub use mounted_binary::SUCCESS_CODE as BINARY_SUCCESS_CODE;
|
||||||
|
|
||||||
/// These API functions are intended for internal usage in generated code.
|
/// These API functions are intended for internal usage in generated code.
|
||||||
/// Normally, you shouldn't use them.
|
/// Normally, you shouldn't use them.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user