void PrintAnalyzer::compound41()

in src/analysis/print_analyzer.cpp [2624:2670]


void PrintAnalyzer::compound41(const RPCProcedure*                proc,
                               const struct NFS41::COMPOUND4args* args,
                               const struct NFS41::COMPOUND4res*  res)
{
    if(!print_procedure(out, proc)) {
        return;
    }

    const u_int* array_len{};
    if(args)
    {
        array_len = &args->argarray.argarray_len;
        out << "\tCALL  [ operations: " << *array_len
            << " tag: " << args->tag
            << " minor version: " << args->minorversion;

        if(*array_len)
        {
            NFS41::nfs_argop4* current_el{args->argarray.argarray_val};
            for(u_int i{0}; i < *array_len; i++, current_el++)
            {
                out << "\n\t\t[ ";
                nfs41_operation(current_el);
                out << " ] ";
            }
            out << " ]\n";
        }
    }
    if(res)
    {
        array_len = &res->resarray.resarray_len;
        out << "\tREPLY [  operations: " << *array_len
            << " status: " << res->status
            << " tag: " << res->tag;
        if(*array_len)
        {
            NFS41::nfs_resop4* current_el{res->resarray.resarray_val};
            for(u_int i{0}; i < *array_len; i++, current_el++)
            {
                out << "\n\t\t[ ";
                nfs41_operation(current_el);
                out << " ] ";
            }
            out << " ]\n";
        }
    }
}