pub fn write_to_slice<T: TraceData, S: AsRef<[Span<T>]>>(
slice: &mut &mut [u8],
traces: &[S],
) -> Result<(), ValueWriteError>Expand description
Encodes a collection of traces into a slice of bytes.
§Arguments
slice- A mutable reference to a byte slice.traces- A reference to a slice of spans.
§Returns
Ok(())- If encoding succeeds.Err(ValueWriteError)- If encoding fails.
§Errors
This function will return an error if:
- The array length for trace count or span count cannot be written.
- Any span cannot be encoded.
§Examples
use libdd_trace_utils::msgpack_encoder::v04::write_to_slice;
use libdd_trace_utils::span::v04::SpanSlice;
let mut buffer = vec![0u8; 1024];
let span = SpanSlice {
name: "test-span",
..Default::default()
};
let traces = vec![vec![span]];
write_to_slice(&mut &mut buffer[..], &traces).expect("Encoding failed");