pub fn find_key(
        &self,
        key_expression: &str,
        find_type: FindType,
        position: &mut i64,
        out_match: &mut String,
    ) -> Status {
        unsafe {
            let mut out_key_ptr: *mut libc::c_void = std::ptr::null_mut();
            let mut out_key_len: size_t = 0;
            let status = callback_find_key(
                self._context,
                key_expression.as_ptr(),
                key_expression.len(),
                find_type,
                position,
                &mut out_key_ptr,
                &mut out_key_len,
            );

            let cstr = convert_to_string(out_key_ptr as *const u8, out_key_len);
            *out_match = cstr;
            /* clean up C-side allocated memory */
            libc::free(out_key_ptr);
            status
        }
    }
/// Iterate over key space using secondary index (must be configured)
///
/// Arguments:
///
/// * `str`: Expression string (e.g., ".*")
/// * `find_type` : Find type (e.g. FindType::Regex)
/// * `position` : Position to start search from, updated with matched position.
/// * `out_match` : Matching key
///
/// # Examples
///
///
/// let mut position: i64 = 0;
///
/// while rc == Status::Ok {
///   let key_expression = ".*";
///   let mut matched: String = String::new();
///
///   rc = services.find_key(".*", FindType::Regex, &mut position, &mut matched);
///   if rc == Status::Ok { .. }
///   position += 1
/// }
///
Iterate over key space using secondary index (must be configured)
Arguments.


Iterate over key space using secondary index ( must be configured ) Arguments .
pub fn find_key(
        &self,
        key_expression: &str,
        find_type: FindType,
        position: &mut i64,
        out_match: &mut String,
    ) -> Status {
        unsafe {
            let mut out_key_ptr: *mut libc::c_void = std::ptr::null_mut();
            let mut out_key_len: size_t = 0;
            let status = callback_find_key(
                self._context,
                key_expression.as_ptr(),
                key_expression.len(),
                find_type,
                position,
                &mut out_key_ptr,
                &mut out_key_len,
            );
            let cstr = convert_to_string(out_key_ptr as *const u8, out_key_len);
            *out_match = cstr;
            /* clean up C-side allocated memory */
            libc::free(out_key_ptr);
            status
        }
    }
pub fn find_key ( & self , key_expression : & str , find_type : FindType , position : & mut i64 , out_match : & mut String , ) -> Status { unsafe { let mut out_key_ptr : * mut libc :: c_void = std :: ptr :: null_mut ( ) ; let mut out_key_len : size_t = 0 ; let status = callback_find_key ( self . _context , key_expression . as_ptr ( ) , key_expression . len ( ) , find_type , position , & mut out_key_ptr , & mut out_key_len , ) ; let cstr = convert_to_string ( out_key_ptr as * const u8 , out_key_len ) ; * out_match = cstr ; /* clean up C-side allocated memory */ libc :: free ( out_key_ptr ) ; status } }
Iterate over key space using secondary index (must be configured)
Arguments:
Iterate over key space using secondary index ( must be configured ) Arguments :
&self
key_expression
&str
find_type
FindType
position
&mut i64
out_match
&mut String
examples
let mut position: i64 = 0.

while rc == Status::Ok {
let key_expression = ".*";
let mut matched: String = String::new().

rc = services.find_key(".*", FindType::Regex, &mut position, &mut matched);
if rc == Status::Ok { ..
let mut position : i64 = 0 . while rc == Status :: Ok { let key_expression = " . * " ; let mut matched : String = String :: new () . rc = services . find_key ( " . * " FindType :: Regex &mut position &mut matched ) ; if rc == Status :: Ok { ..