pub fn createCompletionCounterAndBindToActiveEndpoint(&self, activeEndpoint: &ActiveEndpoint) -> CompletionCounter
	{
		let mut completionCounterAttributes = fi_cntr_attr
		{
			events: fi_cntr_events::FI_CNTR_EVENTS_COMP,
			wait_obj: fi_wait_obj::FI_WAIT_NONE, // Verbs provider supports this or FI_WAIT_FD
			wait_set: null_mut(),  // Verbs provider only supports this
			flags: 0,
		};
		
		let mut handle = unsafe { uninitialized() };
		
		panic_on_error!("rust_fi_cntr_open", unsafe { rust_fi_cntr_open(self.0, &mut completionCounterAttributes, &mut handle, null_mut()) });
		
		let completionCounter = CompletionQueue::fromHandle(handle);
		
		// Also FI_REMOTE_READ and FI_REMOTE_WRITE, but only if the endpoint was created with the FI_RMA_EVENT flag
		panic_on_error!("rust_fi_ep_bind", unsafe { rust_fi_ep_bind(activeEndpoint.0, completionCounter.fid(), FI_SEND | FI_RECV | FI_READ | FI_WRITE)});
		
		completionCounter
	}
/// Optional
/// NOTE: Counters are not supported for MSG endpoints by the Verbs (iWarp, Infiniband, etc) provider
Optional
NOTE: Counters are not supported for MSG endpoints by the Verbs (iWarp, Infiniband, etc) provider
Optional NOTE : Counters are not supported for MSG endpoints by the Verbs ( iWarp Infiniband etc ) provider
pub fn createCompletionCounterAndBindToActiveEndpoint(&self, activeEndpoint: &ActiveEndpoint) -> CompletionCounter
	{
		let mut completionCounterAttributes = fi_cntr_attr
		{
			events: fi_cntr_events::FI_CNTR_EVENTS_COMP,
			wait_obj: fi_wait_obj::FI_WAIT_NONE, // Verbs provider supports this or FI_WAIT_FD
			wait_set: null_mut(),  // Verbs provider only supports this
			flags: 0,
		};
		let mut handle = unsafe { uninitialized() };
		panic_on_error!("rust_fi_cntr_open", unsafe { rust_fi_cntr_open(self.0, &mut completionCounterAttributes, &mut handle, null_mut()) });
		let completionCounter = CompletionQueue::fromHandle(handle);
		// Also FI_REMOTE_READ and FI_REMOTE_WRITE, but only if the endpoint was created with the FI_RMA_EVENT flag
		panic_on_error!("rust_fi_ep_bind", unsafe { rust_fi_ep_bind(activeEndpoint.0, completionCounter.fid(), FI_SEND | FI_RECV | FI_READ | FI_WRITE)});
		completionCounter
	}
pub fn createCompletionCounterAndBindToActiveEndpoint ( & self , activeEndpoint : & ActiveEndpoint ) -> CompletionCounter { let mut completionCounterAttributes = fi_cntr_attr { events : fi_cntr_events :: FI_CNTR_EVENTS_COMP , wait_obj : fi_wait_obj :: FI_WAIT_NONE , // Verbs provider supports this or FI_WAIT_FD wait_set : null_mut ( ) , // Verbs provider only supports this flags : 0 , } ; let mut handle = unsafe { uninitialized ( ) } ; panic_on_error ! ( " " unsafe { rust_fi_cntr_open ( self 0 mut completionCounterAttributes mut handle null_mut ( ) ) } ) ; let completionCounter = CompletionQueue :: fromHandle ( handle ) ; // Also FI_REMOTE_READ and FI_REMOTE_WRITE, but only if the endpoint was created with the FI_RMA_EVENT flag panic_on_error ! ( " " unsafe { rust_fi_ep_bind ( activeEndpoint 0 completionCounter fid ( ) FI_SEND FI_RECV FI_READ FI_WRITE ) } ) ; completionCounter }
Optional
NOTE: Counters are not supported for MSG endpoints by the Verbs (iWarp, Infiniband, etc) provider
Optional NOTE : Counters are not supported for MSG endpoints by the Verbs ( iWarp Infiniband etc ) provider
&self
activeEndpoint
&ActiveEndpoint
&self
activeEndpoint
&ActiveEndpoint