void PrintAnalyzer::compound4()

in src/analysis/print_analyzer.cpp [1601:1644]


void PrintAnalyzer::compound4(const RPCProcedure*               proc,
                              const struct NFS4::COMPOUND4args* args,
                              const struct NFS4::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)
        {
            NFS4::nfs_argop4* current_el{args->argarray.argarray_val};
            for(u_int i = 0; i < *array_len; i++, current_el++)
            {
                out << "\n\t\t[ ";
                nfs4_operation(current_el);
                out << " ] ";
            }
            out << " ]\n";
        }
    }
    if(res)
    {
        array_len = &res->resarray.resarray_len;
        out << "\tREPLY [  operations: " << *array_len;
        if(*array_len)
        {
            NFS4::nfs_resop4* current_el{res->resarray.resarray_val};
            for(u_int i = 0; i < *array_len; i++, current_el++)
            {
                out << "\n\t\t[ ";
                nfs4_operation(current_el);
                out << " ] ";
            }
            out << " ]\n";
        }
    }
}