@ -144,34 +144,27 @@ pub(crate) fn log(args: LogArgs, level: Option<TokenStream>) -> Result<TokenStre
let values_iter = values . iter ( ) ;
Ok ( quote ! {
{
if let Some ( buf_ptr ) = unsafe { ::aya_log_ebpf ::AYA_LOG_BUF . get_ptr_mut ( 0 ) } {
let buf = unsafe { & mut * buf_ptr } ;
if let Ok ( header_len ) = ::aya_log_ebpf ::write_record_header (
& mut buf . buf ,
match unsafe { & mut ::aya_log_ebpf ::AYA_LOG_BUF } . get_ptr_mut ( 0 ) . and_then ( | ptr | unsafe { ptr . as_mut ( ) } ) {
None = > { } ,
Some ( ::aya_log_ebpf ::LogBuf { buf } ) = > {
let _ : Result < ( ) , ( ) > = ( | | {
let mut len = ::aya_log_ebpf ::write_record_header (
buf ,
#target ,
#lvl ,
module_path! ( ) ,
file! ( ) ,
line! ( ) ,
#num_args ,
) {
let record_len = header_len ;
if let Ok ( record_len ) = {
Ok ::< _ , ( ) > ( record_len ) #( . and_then ( | record_len | {
if record_len > = buf . buf . len ( ) {
return Err ( ( ) ) ;
}
aya_log_ebpf ::WriteToBuf ::write ( { #values_iter } , & mut buf . buf [ record_len .. ] ) . map ( | len | record_len + len )
} ) ) *
} {
unsafe { ::aya_log_ebpf ::AYA_LOGS . output (
#ctx ,
& buf . buf [ .. record_len ] , 0
) }
}
}
) ? ;
#(
let slice = buf . get_mut ( len .. ) . ok_or ( ( ) ) ? ;
len + = ::aya_log_ebpf ::WriteToBuf ::write ( #values_iter , slice ) ? ;
) *
let record = buf . get ( .. len ) . ok_or ( ( ) ) ? ;
unsafe { & mut ::aya_log_ebpf ::AYA_LOGS } . output ( #ctx , record , 0 ) ;
Ok ( ( ) )
} ) ( ) ;
}
}
} )