Struct grpcio::GrpcSlice[][src]

#[repr(C)]
pub struct GrpcSlice(_);
Expand description

A convenient rust wrapper for the type grpc_slice.

It’s expected that the slice should be initialized.

Implementations

impl GrpcSlice[src]

pub fn len(&self) -> usize[src]

Get the length of the data.

pub fn as_slice(&self) -> &[u8][src]

Returns a slice of inner buffer.

pub fn is_empty(&self) -> bool[src]

pub fn from_static_slice(s: &'static [u8]) -> GrpcSlice[src]

Creates a slice from static rust slice.

Same as From<&[u8]> but without copying the buffer.

pub fn from_static_str(s: &'static str) -> GrpcSlice[src]

Creates a GrpcSlice from static rust str.

Same as from_str but without allocation.

pub fn is_inline(&self) -> bool[src]

Checks whether the slice stores bytes inline.

pub unsafe fn realloc(&mut self, cap: usize) -> &mut [MaybeUninit<u8>][src]

Reallocates current slice with given capacity.

The length of returned slice is the exact same as given cap.

Safety

Caller is expected to initialize all available bytes to guarantee safety of this slice.

pub fn as_mut_ptr(&mut self) -> *mut grpc_slice[src]

Trait Implementations

impl Clone for GrpcSlice[src]

fn clone(&self) -> Self[src]

Clone the slice.

If the slice is not inlined, the reference count will be increased instead of copy.

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for GrpcSlice[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Default for GrpcSlice[src]

fn default() -> Self[src]

Returns a default slice, which is empty.

impl Drop for GrpcSlice[src]

fn drop(&mut self)[src]

Executes the destructor for this type. Read more

impl From<&'_ [u8]> for GrpcSlice[src]

Creates a GrpcSlice from rust slice.

The data inside slice will be cloned. If the data can’t fit inline, necessary buffer will be allocated.

fn from(s: &[u8]) -> GrpcSlice[src]

Performs the conversion.

impl From<&'_ CStr> for GrpcSlice[src]

Creates a GrpcSlice from rust CStr.

The data inside CStr will be cloned. If the data can’t fit inline, necessary buffer will be allocated.

fn from(s: &CStr) -> GrpcSlice[src]

Performs the conversion.

impl From<&'_ str> for GrpcSlice[src]

Creates a GrpcSlice from rust str.

The data inside str will be cloned. If the data can’t fit inline, necessary buffer will be allocated.

fn from(s: &str) -> GrpcSlice[src]

Performs the conversion.

impl From<CString> for GrpcSlice[src]

Creates a GrpcSlice from rust cstring.

If the cstring can’t fit inline, there will be allocations.

fn from(s: CString) -> GrpcSlice[src]

Performs the conversion.

impl From<String> for GrpcSlice[src]

Creates a GrpcSlice from rust string.

If the string can’t fit inline, there will be allocations.

fn from(s: String) -> GrpcSlice[src]

Performs the conversion.

impl From<Vec<u8, Global>> for GrpcSlice[src]

fn from(v: Vec<u8>) -> GrpcSlice[src]

Converts a Vec<u8> into GrpcSlice.

If v can’t fit inline, there will be allocations.

impl PartialEq<[u8]> for GrpcSlice[src]

fn eq(&self, r: &[u8]) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl PartialEq<GrpcSlice> for GrpcSlice[src]

fn eq(&self, r: &GrpcSlice) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl Send for GrpcSlice[src]

impl Sync for GrpcSlice[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.