Struct uct_ep_params

Source
#[repr(C)]
pub struct uct_ep_params {
Show 17 fields pub field_mask: u64, pub iface: uct_iface_h, pub user_data: *mut c_void, pub dev_addr: *const uct_device_addr_t, pub iface_addr: *const uct_iface_addr_t, pub sockaddr: *const ucs_sock_addr_t, pub sockaddr_cb_flags: u32, pub sockaddr_pack_cb: uct_cm_ep_priv_data_pack_callback_t, pub cm: uct_cm_h, pub conn_request: uct_conn_request_h, pub sockaddr_cb_client: uct_cm_ep_client_connect_callback_t, pub sockaddr_cb_server: uct_cm_ep_server_conn_notify_callback_t, pub disconnect_cb: uct_ep_disconnect_cb_t, pub path_index: c_uint, pub cm_resolve_cb: uct_cm_ep_resolve_callback_t, pub private_data: *const c_void, pub private_data_length: size_t,
}
Expand description

@ingroup UCT_RESOURCE @brief Parameters for creating a UCT endpoint by @ref uct_ep_create

Fields§

§field_mask: u64

Mask of valid fields in this structure, using bits from @ref uct_ep_params_field. Fields not specified by this mask will be ignored.

§iface: uct_iface_h

Interface to create the endpoint on. Either @a iface or @a cm field must be initialized but not both.

§user_data: *mut c_void

User data associated with the endpoint.

§dev_addr: *const uct_device_addr_t

The device address to connect to on the remote peer. This must be defined together with @ref uct_ep_params_t::iface_addr to create an endpoint connected to a remote interface.

§iface_addr: *const uct_iface_addr_t

This specifies the remote address to use when creating an endpoint that is connected to a remote interface. @note This requires @ref UCT_IFACE_FLAG_CONNECT_TO_IFACE capability.

§sockaddr: *const ucs_sock_addr_t

The sockaddr to connect to on the remote peer. If set, @ref uct_ep_create will create an endpoint for a connection to the remote peer, specified by its socket address. @note The interface in this routine requires the @ref UCT_IFACE_FLAG_CONNECT_TO_SOCKADDR capability.

§sockaddr_cb_flags: u32

@ref uct_cb_flags to indicate @ref uct_ep_params_t::sockaddr_pack_cb, @ref uct_ep_params_t::sockaddr_cb_client, @ref uct_ep_params_t::sockaddr_cb_server, @ref uct_ep_params_t::disconnect_cb and @ref uct_ep_params_t::cm_resolve_cb behavior. If none from these are not set, this field will be ignored.

§sockaddr_pack_cb: uct_cm_ep_priv_data_pack_callback_t

Callback that will be used for filling the user’s private data to be delivered to the remote peer by the callback on the server or client side. This field is only valid if @ref uct_ep_params_t::sockaddr is set. @note It is never guaranteed that the callback will be called. If, for example, the endpoint goes into error state before issuing the connection request, the callback will not be invoked. @note Can not be set together with @ref uct_ep_params_t::private_data or @ref uct_ep_params_t::cm_resolve_cb.

§cm: uct_cm_h

The connection manager object as created by @ref uct_cm_open. Either @a cm or @a iface field must be initialized but not both.

§conn_request: uct_conn_request_h

Connection request that was passed to @ref uct_cm_listener_conn_request_args_t::conn_request. @note After a call to @ref uct_ep_create, @a params.conn_request is consumed and should not be used anymore, even if the call returns with an error.

§sockaddr_cb_client: uct_cm_ep_client_connect_callback_t

Callback that will be invoked when the endpoint on the client side is being connected to the server by a connection manager @ref uct_cm_h .

§sockaddr_cb_server: uct_cm_ep_server_conn_notify_callback_t

Callback that will be invoked when the endpoint on the server side is being connected to a client by a connection manager @ref uct_cm_h .

§disconnect_cb: uct_ep_disconnect_cb_t

Callback that will be invoked when the endpoint is disconnected.

§path_index: c_uint

Index of the path which the endpoint should use, must be in the range 0..(@ref uct_iface_attr_t.dev_num_paths - 1).

§cm_resolve_cb: uct_cm_ep_resolve_callback_t

This callback is invoked when the remote server address provided in field @ref uct_ep_params_t::sockaddr is resolved to the local device to be used for connection establishment. @note This field is mutually exclusive with @ref uct_ep_params::sockaddr_pack_cb.

§private_data: *const c_void

Private data to be passed from server to client. Can be used only along with @ref uct_ep_params::conn_request. @note This field is mutually exclusive with @ref uct_ep_params::sockaddr_pack_cb.

§private_data_length: size_t

Length of @ref uct_ep_params::private_data, the maximal allowed value is indicated by the @ref uct_cm_attr::max_conn_priv.

Trait Implementations§

Source§

impl Clone for uct_ep_params

Source§

fn clone(&self) -> uct_ep_params

Returns a copy 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 uct_ep_params

Source§

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

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

impl Copy for uct_ep_params

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.