pub struct MlxQueuePair(/* private fields */);Expand description
An mlx5 RC queue pair created through mlx5dv_create_qp, so it carries the
mlx5dv send-ops flags that arm a direct-WQE/doorbell data path.
Operations delegate to an inner RCQueuePair, driving the QP
through the standard ibv_post_send/ibv_poll_cq verbs; the mlx5dv
send-ops flags are not exercised by that path.
Trait Implementations§
Source§impl Debug for MlxQueuePair
impl Debug for MlxQueuePair
Source§impl IbvQueuePair for MlxQueuePair
impl IbvQueuePair for MlxQueuePair
Source§unsafe fn new<I: IbvDomainImpl<QueuePair = Self>>(
domain: &IbvDomain<I>,
config: IbvConfig,
) -> Result<Self, Error>
unsafe fn new<I: IbvDomainImpl<QueuePair = Self>>( domain: &IbvDomain<I>, config: IbvConfig, ) -> Result<Self, Error>
Creates a queue pair against
domain in the RESET state;
Self::connect transitions it to RTS before use. Read moreSource§fn connect(&mut self, info: &IbvQpInfo) -> Result<(), Error>
fn connect(&mut self, info: &IbvQpInfo) -> Result<(), Error>
Transitions the QP through
INIT -> RTR -> RTS, connected to info.Source§fn get_qp_info(&mut self) -> Result<IbvQpInfo, Error>
fn get_qp_info(&mut self) -> Result<IbvQpInfo, Error>
Returns the local endpoint other peers need in order to connect to this
QP.
Source§fn put(
&mut self,
remote_dst: IbvBuffer,
local_src: IbvBuffer,
) -> Result<Vec<u64>, Error>
fn put( &mut self, remote_dst: IbvBuffer, local_src: IbvBuffer, ) -> Result<Vec<u64>, Error>
Post an RDMA WRITE of
local_src into remote_dst. The request may
be chunked into multiple WRs. This method returns the list of WR ids
that were posted.Source§fn get(
&mut self,
local_dst: IbvBuffer,
remote_src: IbvBuffer,
) -> Result<Vec<u64>, Error>
fn get( &mut self, local_dst: IbvBuffer, remote_src: IbvBuffer, ) -> Result<Vec<u64>, Error>
Post an RDMA READ of
remote_src into local_dst. The request may
be chunked into multiple WRs. This method returns the list of WR ids
that were posted.Source§fn poll_completion(
&mut self,
target: PollTarget,
) -> Result<Option<Result<IbvWc, WorkRequestError>>, PollCompletionError>
fn poll_completion( &mut self, target: PollTarget, ) -> Result<Option<Result<IbvWc, WorkRequestError>>, PollCompletionError>
Poll
target’s completion queue for a single work completion. Read moreAuto Trait Implementations§
impl Freeze for MlxQueuePair
impl RefUnwindSafe for MlxQueuePair
impl Send for MlxQueuePair
impl Sync for MlxQueuePair
impl Unpin for MlxQueuePair
impl UnsafeUnpin for MlxQueuePair
impl UnwindSafe for MlxQueuePair
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].