Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  glue.rs   Sprache: unbekannt

 
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */

use crate::gecko_bindings::{bindings, structs::mozilla};
use crate::json_writer::JSONWriter;
use crate::marker::deserializer_tags_state::{
    get_marker_type_functions_read_guard, MarkerTypeFunctions,
};
use std::os::raw::{c_char, c_void};

#[no_mangle]
pub unsafe extern "C" fn gecko_profiler_serialize_marker_for_tag(
    deserializer_tag: u8,
    payload: *const u8,
    payload_size: usize,
    json_writer: &mut mozilla::baseprofiler::SpliceableJSONWriter,
) {
    let marker_type_functions = get_marker_type_functions_read_guard();
    let &MarkerTypeFunctions {
        transmute_and_stream_fn,
        marker_type_name_fn,
        ..
    } = marker_type_functions.get(deserializer_tag);
    let mut json_writer = JSONWriter::new(&mut *json_writer);

    // Serialize the marker type name first.
    json_writer.string_property("type", marker_type_name_fn());
    // Serialize the marker payload now.
    transmute_and_stream_fn(payload, payload_size, &mut json_writer);
}

#[no_mangle]
pub unsafe extern "C" fn gecko_profiler_stream_marker_schemas(
    json_writer: &mut mozilla::baseprofiler::SpliceableJSONWriter,
    streamed_names_set: *mut c_void,
) {
    let marker_type_functions = get_marker_type_functions_read_guard();

    for funcs in marker_type_functions.iter() {
        let marker_name = (funcs.marker_type_name_fn)();
        let marker_schema = (funcs.marker_type_display_fn)();

        bindings::gecko_profiler_marker_schema_stream(
            json_writer,
            marker_name.as_ptr() as *const c_char,
            marker_name.len(),
            marker_schema.ptr,
            streamed_names_set,
        )
    }
}

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge