Skip to main content

write_to_slice_from_v1

Function write_to_slice_from_v1 

Source
pub fn write_to_slice_from_v1<T: TraceData>(
    slice: &mut &mut [u8],
    payload: &TracerPayload<T>,
) -> Result<(), ValueWriteError>
Expand description

Encodes a TracerPayload into a slice of bytes.

§Arguments

  • slice - A mutable reference to a byte slice.
  • payload - A reference to a TracerPayload.

§Returns

  • Ok(()) - If encoding succeeds.
  • Err(ValueWriteError) - If encoding fails.

§Errors

This function will return an error if the underlying writer fails (e.g. buffer too small).

§Examples

use libdd_trace_utils::msgpack_encoder::v1::write_to_slice_from_v1;
use libdd_trace_utils::span::v1::TracerPayloadSlice;

let mut buffer = vec![0u8; 1024];
let payload = TracerPayloadSlice {
    language_name: "rust".into(),
    ..Default::default()
};

write_to_slice_from_v1(&mut &mut buffer[..], &payload).expect("Encoding failed");