MCPcopy Create free account
hub / github.com/apache/fory / skip_ext

Function skip_ext

rust/fory-core/src/serializer/skip.rs:432–452  ·  view source on GitHub ↗
(
    context: &mut ReadContext,
    type_id_num: u32,
    type_info: &Option<Rc<crate::TypeInfo>>,
)

Source from the content-addressed store, hash-verified

430#[cold]
431#[inline(never)]
432fn skip_ext(
433 context: &mut ReadContext,
434 type_id_num: u32,
435 type_info: &Option<Rc<crate::TypeInfo>>,
436) -> Result<(), Error> {
437 let type_info_rc: Option<Rc<crate::TypeInfo>>;
438 let type_info_value = if type_info.is_none() {
439 let remote_type_info = context.read_any_type_info()?;
440 let remote_type_id = remote_type_info.get_type_id() as u32;
441 ensure!(
442 type_id_num == remote_type_id,
443 Error::type_mismatch(type_id_num, remote_type_id)
444 );
445 type_info_rc = Some(remote_type_info);
446 type_info_rc.as_ref().unwrap()
447 } else {
448 type_info.as_ref().unwrap()
449 };
450 type_info_value.get_harness().get_read_data_fn()(context)?;
451 Ok(())
452}
453
454// call when is_field && is_compatible_mode
455#[cold]

Callers 1

skip_valueFunction · 0.70

Calls 7

SomeFunction · 0.85
get_read_data_fnMethod · 0.80
get_harnessMethod · 0.80
is_noneMethod · 0.45
read_any_type_infoMethod · 0.45
get_type_idMethod · 0.45
unwrapMethod · 0.45

Tested by

no test coverage detected