pub type switch_endpoint_interface_t = switch_endpoint_interface;Expand description
\brief Abstraction of an module endpoint interface This is the glue between the abstract idea of a “channel” and what is really going on under the hood. Each endpoint module fills out one of these tables and makes it available when a channel is created of it’s paticular type.
Aliased Type§
#[repr(C)]pub struct switch_endpoint_interface_t {
pub interface_name: *const i8,
pub io_routines: *mut switch_io_routines,
pub state_handler: *mut switch_state_handler_table,
pub private_info: *mut c_void,
pub rwlock: *mut fspr_thread_rwlock_t,
pub refs: i32,
pub reflock: *mut fspr_thread_mutex_t,
pub parent: *mut switch_loadable_module_interface,
pub next: *mut switch_endpoint_interface,
pub recover_callback: Option<unsafe extern "C" fn(*mut switch_core_session) -> i32>,
}Fields§
§interface_name: *const i8the interface’s name
io_routines: *mut switch_io_routineschannel abstraction methods
state_handler: *mut switch_state_handler_tablestate machine methods
private_info: *mut c_voidprivate information
rwlock: *mut fspr_thread_rwlock_t§refs: i32§reflock: *mut fspr_thread_mutex_t§parent: *mut switch_loadable_module_interface§next: *mut switch_endpoint_interface§recover_callback: Option<unsafe extern "C" fn(*mut switch_core_session) -> i32>