Skip to main content

lent_session_properties

Function lent_session_properties 

Source
pub unsafe fn lent_session_properties<'a>(
    rows: *const SessionProperty,
    len: usize,
    out: &mut [(&'a str, &'a str)],
) -> Result<usize, BadSessionProperties>
Expand description

Read a table a caller LENDS for one multi-session open (issue 2123): the C/C++ spelling of crate::SessionSpec::properties, rows/len straight off NrosCppSessionSpec or rclc_session_spec_t. Writes the rows into the front of out and returns how many; rows NULL with len == 0 is no table. Refuses (writing nothing usable) a NULL rows with len > 0 or a row that does not read (BadSessionProperties::Row), and more rows than one session open carries or than out holds (BadSessionProperties::TooMany).

Unlike set_session_properties the table need not be 'static: a session open hands the properties to its backend and keeps none of them.

ยงSafety

rows must point at len rows that, with every string they point at, are valid and unwritten for 'a.