Struct grpcio::GrpcSlice[][src]

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

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.

impl Debug for GrpcSlice[src]

impl Default for GrpcSlice[src]

fn default() -> Self[src]

Returns a default slice, which is empty.

impl Drop for GrpcSlice[src]

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.

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.

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.

impl From<CString> for GrpcSlice[src]

Creates a GrpcSlice from rust cstring.

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

impl From<String> for GrpcSlice[src]

Creates a GrpcSlice from rust string.

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

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]

impl PartialEq<GrpcSlice> for GrpcSlice[src]

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]

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.