some minor improvements

This commit is contained in:
vms 2021-04-05 12:38:28 +03:00
parent 55cfb1e844
commit ea5baec462
4 changed files with 8 additions and 26 deletions

View File

@ -17,7 +17,6 @@
use super::log; use super::log;
use std::alloc::alloc as global_alloc; use std::alloc::alloc as global_alloc;
use std::alloc::dealloc as global_dealloc;
use std::alloc::Layout; use std::alloc::Layout;
/// Allocates memory area of specified size and returns its address. /// Allocates memory area of specified size and returns its address.
@ -35,19 +34,3 @@ pub unsafe fn allocate(size: usize) -> usize {
global_alloc(layout) as _ global_alloc(layout) as _
} }
/// Deallocates memory area for provided memory pointer and size.
/// Does nothing if supplied size is too long.
#[no_mangle]
pub unsafe fn deallocate(ptr: *mut u8, size: usize) {
let layout = match Layout::from_size_align(size, std::mem::align_of::<u8>()) {
Ok(layout) => layout,
// in this case a err may occur only in a case of too long allocated size,
// so just done nothing
Err(_) => return,
};
log(format!("sdk.deallocate: {:?} {}\n", ptr, size));
global_dealloc(ptr, layout);
}

View File

@ -39,7 +39,6 @@ mod result;
mod sdk_version_embedder; mod sdk_version_embedder;
pub use export_allocator::allocate; pub use export_allocator::allocate;
pub use export_allocator::deallocate;
#[cfg(feature = "logger")] #[cfg(feature = "logger")]
pub use logger::WasmLoggerBuilder; pub use logger::WasmLoggerBuilder;

View File

@ -88,8 +88,8 @@ 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 mounted_binary::Result as MountedBinaryResult; pub use mounted_binary::MountedBinaryResult;
pub use mounted_binary::StringResult as MountedBinaryStringResult; pub use mounted_binary::MountedBinaryStringResult;
pub use mounted_binary::SUCCESS_CODE as BINARY_SUCCESS_CODE; pub use mounted_binary::SUCCESS_CODE as BINARY_SUCCESS_CODE;
pub use fluence_sdk_main::module_manifest; pub use fluence_sdk_main::module_manifest;

View File

@ -24,7 +24,7 @@ pub const SUCCESS_CODE: i32 = 0;
/// Describes result of calling a CLI service. /// Describes result of calling a CLI service.
#[fce] #[fce]
#[derive(Clone, PartialEq, Default, Eq, Debug, Serialize, Deserialize)] #[derive(Clone, PartialEq, Default, Eq, Debug, Serialize, Deserialize)]
pub struct Result { pub struct MountedBinaryResult {
/// Return process exit code or host execution error code, where SUCCESS_CODE means success. /// Return process exit code or host execution error code, where SUCCESS_CODE means success.
pub ret_code: i32, pub ret_code: i32,
@ -38,10 +38,10 @@ pub struct Result {
pub stderr: Vec<u8>, pub stderr: Vec<u8>,
} }
/// The same as the Result, but stdout and stderr are utf8 strings. /// The same as the MountedBinaryResult, but stdout and stderr are utf8 strings.
#[fce] #[fce]
#[derive(Clone, PartialEq, Default, Eq, Debug, Serialize, Deserialize)] #[derive(Clone, PartialEq, Default, Eq, Debug, Serialize, Deserialize)]
pub struct StringResult { pub struct MountedBinaryStringResult {
/// Return process exit code or host execution error code, where SUCCESS_CODE means success. /// Return process exit code or host execution error code, where SUCCESS_CODE means success.
pub ret_code: i32, pub ret_code: i32,
@ -55,7 +55,7 @@ pub struct StringResult {
pub stderr: String, pub stderr: String,
} }
impl Result { impl MountedBinaryResult {
/// Create a new failure MountedBinaryResult from the provided ret_code. /// Create a new failure MountedBinaryResult from the provided ret_code.
pub fn from_error(ret_code: i32, error: impl Into<String>) -> Self { pub fn from_error(ret_code: i32, error: impl Into<String>) -> Self {
Self { Self {
@ -99,11 +99,11 @@ impl Result {
} }
} }
pub fn stringify(&self) -> Option<StringResult> { pub fn stringify(&self) -> Option<MountedBinaryStringResult> {
let stdout = String::from_utf8(self.stdout.clone()).ok()?; let stdout = String::from_utf8(self.stdout.clone()).ok()?;
let stderr = String::from_utf8(self.stderr.clone()).ok()?; let stderr = String::from_utf8(self.stderr.clone()).ok()?;
let string_result = StringResult { let string_result = MountedBinaryStringResult {
ret_code: self.ret_code, ret_code: self.ret_code,
error: self.error.clone(), error: self.error.clone(),
stdout, stdout,