Trait soroban_env_guest::EnvBase
source · pub trait EnvBase: Sized + Clone {
fn as_mut_any(&mut self) -> &mut (dyn Any + 'static);
fn check_same_env(&self, other: &Self);
fn deep_clone(&self) -> Self;
fn bytes_copy_from_slice(
&self,
b: Object,
b_pos: RawVal,
mem: &[u8]
) -> Result<Object, Status>;
fn bytes_copy_to_slice(
&self,
b: Object,
b_pos: RawVal,
mem: &mut [u8]
) -> Result<(), Status>;
fn bytes_new_from_slice(&self, mem: &[u8]) -> Result<Object, Status>;
fn log_static_fmt_val(
&self,
fmt: &'static str,
v: RawVal
) -> Result<(), Status>;
fn log_static_fmt_static_str(
&self,
fmt: &'static str,
s: &'static str
) -> Result<(), Status>;
fn log_static_fmt_val_static_str(
&self,
fmt: &'static str,
v: RawVal,
s: &'static str
) -> Result<(), Status>;
fn log_static_fmt_general(
&self,
fmt: &'static str,
vals: &[RawVal],
strs: &[&'static str]
) -> Result<(), Status>;
}
Expand description
Base trait extended by the Env trait, providing various special-case functions that do not simply call across cross the guest/host interface.
Required Methods
sourcefn as_mut_any(&mut self) -> &mut (dyn Any + 'static)
fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)
Used for recovering the concrete type of the Host.
sourcefn check_same_env(&self, other: &Self)
fn check_same_env(&self, other: &Self)
Used to check two environments are the same, trapping if not.
sourcefn deep_clone(&self) -> Self
fn deep_clone(&self) -> Self
Used to clone an environment deeply, not just a handle to it.
sourcefn bytes_copy_from_slice(
&self,
b: Object,
b_pos: RawVal,
mem: &[u8]
) -> Result<Object, Status>
fn bytes_copy_from_slice(
&self,
b: Object,
b_pos: RawVal,
mem: &[u8]
) -> Result<Object, Status>
Copy a slice of bytes from the caller’s memory into an existing Bytes
object the host, returning a new Bytes
.
sourcefn bytes_copy_to_slice(
&self,
b: Object,
b_pos: RawVal,
mem: &mut [u8]
) -> Result<(), Status>
fn bytes_copy_to_slice(
&self,
b: Object,
b_pos: RawVal,
mem: &mut [u8]
) -> Result<(), Status>
Copy a slice of bytes from a Bytes
object in the host into the
caller’s memory.
sourcefn bytes_new_from_slice(&self, mem: &[u8]) -> Result<Object, Status>
fn bytes_new_from_slice(&self, mem: &[u8]) -> Result<Object, Status>
Form a new Bytes
object in the host from a slice of memory in the
caller.
sourcefn log_static_fmt_val(&self, fmt: &'static str, v: RawVal) -> Result<(), Status>
fn log_static_fmt_val(&self, fmt: &'static str, v: RawVal) -> Result<(), Status>
Log a formatted debugging message to the debug log (if present), passing
a simplified format string (supporting only positional {}
markers) and
a single RawVal argument that will be inserted at the marker in the
format string.
sourcefn log_static_fmt_static_str(
&self,
fmt: &'static str,
s: &'static str
) -> Result<(), Status>
fn log_static_fmt_static_str(
&self,
fmt: &'static str,
s: &'static str
) -> Result<(), Status>
Log a formatted debugging message to the debug log (if present), passing
a simplified format string (supporting only positional {}
markers) and
a single string-slice argument that will be inserted at the marker in
the format string.
sourcefn log_static_fmt_val_static_str(
&self,
fmt: &'static str,
v: RawVal,
s: &'static str
) -> Result<(), Status>
fn log_static_fmt_val_static_str(
&self,
fmt: &'static str,
v: RawVal,
s: &'static str
) -> Result<(), Status>
Log a formatted debugging message to the debug log (if present), passing
a simplified format string (supporting only positional {}
markers) and
both a RawVal and a string-slice argument, that will each be inserted
at markers in the format string.
sourcefn log_static_fmt_general(
&self,
fmt: &'static str,
vals: &[RawVal],
strs: &[&'static str]
) -> Result<(), Status>
fn log_static_fmt_general(
&self,
fmt: &'static str,
vals: &[RawVal],
strs: &[&'static str]
) -> Result<(), Status>
Log a formatted debugging message to the debug log (if present), passing
a simplified format string (supporting only positional {}
markers) and
both a slice of RawVals and a slice of string-slice argument, that
will be sequentially inserted at markers in the format string.