Skip to main content

CortexBuffer

Struct CortexBuffer 

Source
#[repr(C)]
pub struct CortexBuffer { pub ptr: *mut u8, pub len: usize, pub cap: usize, }
Expand description

Native ABI-owned byte buffer.

All strings and JSON values that cross the stable native ABI boundary use this representation. Buffers returned by the plugin must be released by calling the table’s buffer_free function.

Fields§

§ptr: *mut u8

Pointer to UTF-8 bytes.

§len: usize

Number of initialized bytes at ptr.

§cap: usize

Allocation capacity needed to reconstruct and free the buffer.

Implementations§

Source§

impl CortexBuffer

Source

pub const fn empty() -> Self

Source§

impl CortexBuffer

Source

pub const unsafe fn as_str(&self) -> Result<&str, Utf8Error>

Read this buffer as UTF-8.

§Errors

Returns a UTF-8 error when the buffer contains invalid UTF-8 bytes.

§Safety

The caller must ensure ptr is valid for len bytes and remains alive for the duration of this call.

Trait Implementations§

Source§

impl From<String> for CortexBuffer

Source§

fn from(value: String) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.