Skip to main content

ReceiveClient

Trait ReceiveClient 

Source
pub trait ReceiveClient {
    // Required method
    fn received_buffer(
        &self,
        rx_buffer: &'static mut [u8],
        rx_len: usize,
        rval: Result<(), ErrorCode>,
        error: Error,
    );

    // Provided method
    fn received_word(
        &self,
        _word: u32,
        _rval: Result<(), ErrorCode>,
        _error: Error,
    ) { ... }
}
Expand description

Trait implemented by a UART receiver to receive callbacks when operations complete.

Required Methods§

Source

fn received_buffer( &self, rx_buffer: &'static mut [u8], rx_len: usize, rval: Result<(), ErrorCode>, error: Error, )

A call to Receive::receive_buffer completed.

A call to Receive::receive_word or Receive::receive_buffer made within this callback SHOULD NOT return Err(BUSY). When this callback is made the UART should be ready to receive another call.

The rx_len argument specifies how many words were received. If the receive was successful, rx_len in the callback will be the same as rx_len in the initiating call.

rval indicates whether a buffer was successfully received. Possible rval values:

  • Ok(()): The full buffer was successfully received.
  • Err(CANCEL): The call to Receive::receive_buffer was cancelled and the buffer was not fully received. rx_len contains how many words were received.
  • Err(SIZE): The buffer could only be partially received. rx_len contains how many words were received.
  • Err(FAIL): The reception failed in some way: error may contain further information.

Provided Methods§

Source

fn received_word(&self, _word: u32, _rval: Result<(), ErrorCode>, _error: Error)

A call to Receive::receive_word completed.

A call to Receive::receive_word or Receive::receive_buffer made within this callback SHOULD NOT return Err(BUSY). When this callback is made the UART should be ready to receive another call.

rval indicates whether a word was successfully received. Possible rval values:

  • Ok(()): The word was successfully received.
  • Err(CANCEL): The call to Receive::receive_word was cancelled and the word was not received: word should be ignored.
  • Err(FAIL): The reception failed in some way and word should be ignored. error may contain further information on the sort of error.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§