Function nemo_relay_push_scope

View as Markdown

Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi.

#[unsafe(no_mangle)]pub unsafe extern "C" fn nemo_relay_push_scope(
    name: *const c_char,
    scope_type: NemoRelayScopeType,
    parent: *const FfiScopeHandle,
    attributes: u32,
    data_json: *const c_char,
    metadata_json: *const c_char,
    input_json: *const c_char,
    timestamp_unix_micros: *const i64,
    out: *mut *mut FfiScopeHandle,
) -> NemoRelayStatus

Push a new scope onto the scope stack.

This creates a scope handle, emits a scope Start event, and makes the new scope the current top of the active stack.

Parameters

  • name: Null-terminated scope name.
  • scope_type: The type of scope to create.
  • parent: Optional parent scope handle, or null to use the current top of stack.
  • attributes: Bitfield of scope attributes.
  • data_json: Optional null-terminated JSON string stored on the scope handle, or null.
  • metadata_json: Optional null-terminated JSON metadata string recorded on the start event, or null.
  • input_json: Optional null-terminated JSON string exported as the semantic scope input on the start event, or null.
  • timestamp_unix_micros: Optional Unix microseconds timestamp for the handle start time and start event, or null to use the current UTC time.
  • out: On success, receives a heap-allocated FfiScopeHandle that must be freed with nemo_relay_scope_handle_free.

Errors

Returns InvalidJson for invalid JSON inputs and InvalidArg when timestamp_unix_micros is outside the supported timestamp range.

Safety

name must be a valid C string. out must be non-null. parent, data_json, metadata_json, input_json, and timestamp_unix_micros may be null; when non-null, optional pointers must be valid for reads for the duration of the call.