PrSDKMemoryManagerSuite

Struct PrSDKMemoryManagerSuite 

Source
#[repr(C, packed(1))]
pub struct PrSDKMemoryManagerSuite {
Show 16 fields pub ReserveMemory: Option<unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_uint32) -> prSuiteError>, pub GetMemoryManagerSize: Option<unsafe extern "C" fn(outMemoryManagerSize: *mut csSDK_uint64) -> prSuiteError>, pub AddBlock: Option<unsafe extern "C" fn(inSize: csSDK_size_t, inPurgeFunction: PrSDKMemoryManagerSuite_PurgeMemoryFunction, inPurgeMemoryData: *mut c_void, outID: *mut csSDK_uint32) -> prSuiteError>, pub TouchBlock: Option<unsafe extern "C" fn(inID: csSDK_uint32) -> prSuiteError>, pub RemoveBlock: Option<unsafe extern "C" fn(inID: csSDK_uint32) -> prSuiteError>, pub NewPtrClear: Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>, pub NewPtr: Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>, pub GetPtrSize: Option<unsafe extern "C" fn(p: PrMemoryPtr) -> csSDK_uint32>, pub SetPtrSize: Option<unsafe extern "C" fn(p: *mut PrMemoryPtr, newSize: csSDK_uint32)>, pub NewHandle: Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>, pub NewHandleClear: Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>, pub PrDisposePtr: Option<unsafe extern "C" fn(p: PrMemoryPtr)>, pub DisposeHandle: Option<unsafe extern "C" fn(h: PrMemoryHandle)>, pub SetHandleSize: Option<unsafe extern "C" fn(h: PrMemoryHandle, newSize: csSDK_uint32) -> c_short>, pub GetHandleSize: Option<unsafe extern "C" fn(h: PrMemoryHandle) -> csSDK_uint32>, pub AdjustReservedMemorySize: Option<unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_int64) -> prSuiteError>,
}

Fields§

§ReserveMemory: Option<unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_uint32) -> prSuiteError>

Set the memory reserve size in bytes for the plugin with the specified ID.

@param inPluginID The ID of the plugin. @param inSize The size in bytes to reserve.

§GetMemoryManagerSize: Option<unsafe extern "C" fn(outMemoryManagerSize: *mut csSDK_uint64) -> prSuiteError>

Get the current size of the media cache in this process.

@param outMemoryManagerSize The size of the memory manager in bytes.

§AddBlock: Option<unsafe extern "C" fn(inSize: csSDK_size_t, inPurgeFunction: PrSDKMemoryManagerSuite_PurgeMemoryFunction, inPurgeMemoryData: *mut c_void, outID: *mut csSDK_uint32) -> prSuiteError>

Add a block of memory to management. This block should not be something entered in any of the suite cache, and it must be purgeable. The purge function you pass in may be called on any thread.

@param inSize The size in bytes of the item in question. @param inPurgeFunction The function pointer that will be called to purge the item. @param inPurgeMemoryData The data object passed back in the purge callback. @param outID The id the host will use for this item.

§TouchBlock: Option<unsafe extern "C" fn(inID: csSDK_uint32) -> prSuiteError>

Each time you use a block of memory, you should call this function. This pushes its priority up in the cache, making a purge less likely.

@param inID The id of the block to touch.

§RemoveBlock: Option<unsafe extern "C" fn(inID: csSDK_uint32) -> prSuiteError>

You can manually expire an item from the cache with this function. Note that the purge function on the item will not be called.

@param inID The id of the block to touch.

§NewPtrClear: Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>§NewPtr: Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryPtr>§GetPtrSize: Option<unsafe extern "C" fn(p: PrMemoryPtr) -> csSDK_uint32>§SetPtrSize: Option<unsafe extern "C" fn(p: *mut PrMemoryPtr, newSize: csSDK_uint32)>§NewHandle: Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>§NewHandleClear: Option<unsafe extern "C" fn(byteCount: csSDK_uint32) -> PrMemoryHandle>§PrDisposePtr: Option<unsafe extern "C" fn(p: PrMemoryPtr)>§DisposeHandle: Option<unsafe extern "C" fn(h: PrMemoryHandle)>§SetHandleSize: Option<unsafe extern "C" fn(h: PrMemoryHandle, newSize: csSDK_uint32) -> c_short>§GetHandleSize: Option<unsafe extern "C" fn(h: PrMemoryHandle) -> csSDK_uint32>§AdjustReservedMemorySize: Option<unsafe extern "C" fn(inPluginID: csSDK_uint32, inSize: csSDK_int64) -> prSuiteError>

Trait Implementations§

Source§

impl Clone for PrSDKMemoryManagerSuite

Source§

fn clone(&self) -> PrSDKMemoryManagerSuite

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PrSDKMemoryManagerSuite

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Copy for PrSDKMemoryManagerSuite

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.